16 #ifndef _ATL_NO_PRAGMA_WARNINGS 17 #pragma warning (push) 18 #pragma warning(disable: 4702) // unreachable code 19 #endif // !_ATL_NO_PRAGMA_WARNINGS 73 #pragma warning(disable: 4244) 79 inline DBROWCOUNT
AbsVal (DBROWCOUNT val)
107 #define ATLDB_NO_STRING 0x01000011 // Arbitrary value for AtlDumpProperty 118 TCHAR szPropertySetName[100];
121 if (InlineIsEqualGUID (
iid, DBPROPSET_DATASOURCEALL))
125 _tcscpy (&szPropertySetName[0], _T (
"DBPROPSET_DATASOURCEALL -"));
129 else if (InlineIsEqualGUID (
iid, DBPROPSET_DATASOURCEINFOALL))
133 _tcscpy (&szPropertySetName[0], _T (
"DBPROPSET_DATASOURCEINFOALL -"));
137 else if (InlineIsEqualGUID (
iid, DBPROPSET_ROWSETALL))
141 _tcscpy (&szPropertySetName[0], _T (
"DBPROPSET_ROWSETALL -"));
145 else if (InlineIsEqualGUID (
iid, DBPROPSET_DBINITALL))
149 _tcscpy (&szPropertySetName[0], _T (
"DBPROPSET_DBINITALL -"));
153 else if (InlineIsEqualGUID (
iid, DBPROPSET_SESSIONALL))
157 _tcscpy (&szPropertySetName[0], _T (
"DBPROPSET_SESSIONALL -"));
161 if (InlineIsEqualGUID (
iid, DBPROPSET_DATASOURCE))
165 _tcscpy (&szPropertySetName[0], _T (
"DBPROPSET_DATASOURCE -"));
169 else if (InlineIsEqualGUID (
iid, DBPROPSET_DATASOURCEINFO))
173 _tcscpy (&szPropertySetName[0], _T (
"DBPROPSET_DATASOURCEINFO -"));
181 _tcscpy (&szPropertySetName[0], _T (
"DBPROPSET_ROWSET -"));
185 else if (InlineIsEqualGUID (
iid, DBPROPSET_DBINIT))
189 _tcscpy (&szPropertySetName[0], _T (
"DBPROPSET_DBINIT -"));
193 else if (InlineIsEqualGUID (
iid, DBPROPSET_SESSION))
197 _tcscpy (&szPropertySetName[0], _T (
"DBPROPSET_SESSION -"));
205 LPOLESTR lpszName =
NULL;
207 if (SUCCEEDED (StringFromCLSID (
iid, &lpszName)))
209 _tcscpy (&szPropertySetName[0], OLE2T (lpszName));
214 if (dwStatus & 0x04 )
216 _tcscat (szPropertySetName, _T (
" NOT FOUND\n"));
220 _tcscat (szPropertySetName, _T (
" FOUND\n"));
223 OutputDebugString (szPropertySetName);
229 inline void WINAPI
AtlDumpProperty (DWORD dwPropertyID, DWORD dwStatus)
232 TCHAR szProperty[100];
241 case DBPROPSTATUS_OK:
243 _tcscpy (&szStatus[0], _T (
"FOUND"));
247 case DBPROPSTATUS_NOTSUPPORTED:
249 _tcscpy (&szStatus[0], _T (
"NOT SUPPORTED"));
253 case DBPROPSTATUS_BADVALUE:
255 _tcscpy (&szStatus[0], _T (
"BAD VALUE"));
259 case DBPROPSTATUS_BADOPTION:
261 _tcscpy (&szStatus[0], _T (
"BAD OPTION"));
265 case DBPROPSTATUS_BADCOLUMN:
267 _tcscpy (&szStatus[0], _T (
"BAD COLUMN"));
271 case DBPROPSTATUS_NOTALLSETTABLE:
273 _tcscpy (&szStatus[0], _T (
"NOT ALL SETTABLE"));
277 case DBPROPSTATUS_NOTSETTABLE:
279 _tcscpy (&szStatus[0], _T (
"NOT SETTABLE"));
283 case DBPROPSTATUS_NOTSET:
285 _tcscpy (&szStatus[0], _T (
"NOT SET"));
289 case DBPROPSTATUS_CONFLICTING:
291 _tcscpy (&szStatus[0], _T (
"CONFLICTED"));
297 _tcscpy (&szStatus[0], _T (
"WARNING! NO RESOURCE STRING FOR THIS PROPERTY! ADD IDS_<PROP_NAME>"));
303 _tcscpy (&szStatus[0], _T (
"INDETERMINATE"));
310 wsprintf (&szProperty[0], _T (
"Property 0x%lxL -- %s\n"), dwPropertyID, szStatus);
312 OutputDebugString (szProperty);
321 #ifdef _ATL_DEBUG_PROVIDER_PROPS 322 #define _ATLDUMPPROPSETIID(iid, dwStatus) AtlDumpPropsetIID(iid, dwStatus) 323 #define _ATLDUMPPROPERTY(dwPropertyID, dwStatus) AtlDumpProperty(dwPropertyID, dwStatus) 326 #define _ATLDUMPPROPSETIID(iid, dwStatus) 327 #define _ATLDUMPPROPERTY(dwPropertyID, dwStatus) 328 #endif // _ATL_DEBUG_PROVIDER_PROPS 458 #define ABORTPRESERVE_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 459 #define ACTIVESESSIONS_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 460 #define APPENDONLY_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 461 #define ASYNCTXNABORT_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 462 #define ASYNCTXNCOMMIT_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 463 #define AUTH_CACHE_AUTHINFO_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 464 #define AUTH_ENCRYPT_PASSWORD_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 465 #define AUTH_INTEGRATED_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 466 #define AUTH_MASK_PASSWORD_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 467 #define AUTH_PASSWORD_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 468 #define AUTH_PERSIST_ENCRYPTED_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 469 #define AUTH_PERSIST_SENSITIVE_AUTHINFO_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 470 #define AUTH_USERID_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 471 #define BLOCKINGSTORAGEOBJECTS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 472 #define BOOKMARKS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE) 473 #define BOOKMARKSKIPPED_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE) 474 #define BOOKMARKTYPE_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE) 475 #define BYREFACCESSORS_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 476 #define CACHEDEFERRED_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 477 #define CANFETCHBACKWARDS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 478 #define CANHOLDROWS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 479 #define CANSCROLLBACKWARDS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 480 #define CATALOGLOCATION_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 481 #define CATALOGTERM_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 482 #define CATALOGUSAGE_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 483 #define CHANGEINSERTEDROWS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_CHANGE ) 484 #define COL_AUTOINCREMENT_Flags ( DBPROPFLAGS_COLUMN | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 485 #define COL_DEFAULT_Flags ( DBPROPFLAGS_COLUMN | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 486 #define COL_DESCRIPTION_Flags ( DBPROPFLAGS_COLUMN | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 487 #define COL_FIXEDLENGTH_Flags ( DBPROPFLAGS_COLUMN | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 488 #define COL_NULLABLE_Flags ( DBPROPFLAGS_COLUMN | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 489 #define COL_PRIMARYKEY_Flags ( DBPROPFLAGS_COLUMN | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 490 #define COL_UNIQUE_Flags ( DBPROPFLAGS_COLUMN | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 491 #define COLUMNDEFINITION_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 492 #define COLUMNRESTRICT_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 493 #define COMMANDTIMEOUT_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 494 #define COMMITPRESERVE_Flags ( DBPROPFLAGS_ROWSET| DBPROPFLAGS_READ | DBPROPFLAGS_WRITE) 495 #define CONCATNULLBEHAVIOR_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 496 #define CURRENTCATALOG_Flags ( DBPROPFLAGS_DATASOURCE | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 497 #define DATASOURCENAME_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 498 #define DATASOURCEREADONLY_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 499 #define DBMSNAME_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 500 #define DBMSVER_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 501 #define DEFERRED_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 502 #define DELAYSTORAGEOBJECTS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 503 #define DSOTHREADMODEL_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 504 #define GROUPBY_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 505 #define HETEROGENEOUSTABLES_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 506 #define IAccessor_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 507 #define IColumnsInfo_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 508 #define IColumnsRowset_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 509 #define IConnectionPointContainer_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE) 510 #define IConvertType_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 511 #define IRowset_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 512 #define IRowsetChange_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 513 #define IRowsetIdentity_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 514 #define IRowsetIndex_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 515 #define IRowsetInfo_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 516 #define IRowsetLocate_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE) 517 #define IRowsetResynch_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 518 #define IRowsetScroll_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE) 519 #define IRowsetUpdate_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE) 520 #define ISupportErrorInfo_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 521 #define ILockBytes_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 522 #define ISequentialStream_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 523 #define IStorage_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 524 #define IStream_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 525 #define IDENTIFIERCASE_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 526 #define IMMOBILEROWS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 527 #define INDEX_AUTOUPDATE_Flags ( DBPROPFLAGS_INDEX | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 528 #define INDEX_CLUSTERED_Flags ( DBPROPFLAGS_INDEX | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 529 #define INDEX_FILLFACTOR_Flags ( DBPROPFLAGS_INDEX | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 530 #define INDEX_INITIALSIZE_Flags ( DBPROPFLAGS_INDEX | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 531 #define INDEX_NULLCOLLATION_Flags ( DBPROPFLAGS_INDEX | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 532 #define INDEX_NULLS_Flags ( DBPROPFLAGS_INDEX | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 533 #define INDEX_PRIMARYKEY_Flags ( DBPROPFLAGS_INDEX | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 534 #define INDEX_SORTBOOKMARKS_Flags ( DBPROPFLAGS_INDEX | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 535 #define INDEX_TEMPINDEX_Flags ( DBPROPFLAGS_INDEX | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 536 #define INDEX_TYPE_Flags ( DBPROPFLAGS_INDEX | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 537 #define INDEX_UNIQUE_Flags ( DBPROPFLAGS_INDEX | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 538 #define INIT_DATASOURCE_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 539 #define INIT_HWND_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 540 #define INIT_IMPERSONATION_LEVEL_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 541 #define INIT_LCID_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 542 #define INIT_LOCATION_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 543 #define INIT_MODE_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 544 #define INIT_PROMPT_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 545 #define INIT_PROTECTION_LEVEL_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 546 #define INIT_PROVIDERSTRING_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 547 #define INIT_TIMEOUT_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 548 #define LITERALBOOKMARKS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 549 #define LITERALIDENTITY_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 550 #define MAXINDEXSIZE_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 551 #define MAXOPENROWS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 552 #define MAXPENDINGROWS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE) 553 #define MAXROWS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 554 #define MAXROWSIZE_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 555 #define MAXROWSIZEINCLUDESBLOB_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 556 #define MAXTABLESINSELECT_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 557 #define MAYWRITECOLUMN_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 558 #define MEMORYUSAGE_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 559 #define MULTIPLEPARAMSETS_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 560 #define MULTIPLERESULTS_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 561 #define MULTIPLESTORAGEOBJECTS_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 562 #define MULTITABLEUPDATE_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 563 #define NOTIFICATIONGRANULARITY_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE) 564 #define NOTIFICATIONPHASES_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 565 #define NOTIFYCOLUMNSET_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 566 #define NOTIFYROWDELETE_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 567 #define NOTIFYROWFIRSTCHANGE_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 568 #define NOTIFYROWINSERT_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 569 #define NOTIFYROWRESYNCH_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 570 #define NOTIFYROWSETRELEASE_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 571 #define NOTIFYROWSETFETCHPOSITIONCHANGE_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 572 #define NOTIFYROWUNDOCHANGE_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 573 #define NOTIFYROWUNDODELETE_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 574 #define NOTIFYROWUNDOINSERT_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 575 #define NOTIFYROWUPDATE_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 576 #define NULLCOLLATION_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 577 #define OLEOBJECTS_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 578 #define ORDERBYCOLUMNSINSELECT_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 579 #define ORDEREDBOOKMARKS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 580 #define OTHERINSERT_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 581 #define OTHERUPDATEDELETE_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 582 #define OUTPUTPARAMETERAVAILABILITY_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 583 #define OWNINSERT_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 584 #define OWNUPDATEDELETE_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 585 #define PERSISTENTIDTYPE_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 586 #define PREPAREABORTBEHAVIOR_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 587 #define PREPARECOMMITBEHAVIOR_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 588 #define PROCEDURETERM_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 589 #define PROVIDERNAME_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 590 #define PROVIDEROLEDBVER_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 591 #define PROVIDERVER_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 592 #define QUICKRESTART_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 593 #define QUOTEDIDENTIFIERCASE_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 594 #define REENTRANTEVENTS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 595 #define REMOVEDELETED_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 596 #define REPORTMULTIPLECHANGES_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_CHANGE ) 597 #define RETURNPENDINGINSERTS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 598 #define ROWRESTRICT_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 599 #define ROWSETCONVERSIONSONCOMMAND_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 600 #define ROWTHREADMODEL_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 601 #define SCHEMATERM_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 602 #define SCHEMAUSAGE_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 603 #define SERVERCURSOR_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 604 #define SESS_AUTOCOMMITISOLEVELS_Flags ( DBPROPFLAGS_SESSION | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE) 605 #define SQLSUPPORT_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 606 #define STRONGIDENTITY_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 607 #define STRUCTUREDSTORAGE_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 608 #define SUBQUERIES_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 609 #define SUPPORTEDTXNDDL_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 610 #define SUPPORTEDTXNISOLEVELS_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 611 #define SUPPORTEDTXNISORETAIN_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 612 #define TABLETERM_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 613 #define TBL_TEMPTABLE_Flags ( DBPROPFLAGS_TABLE | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 614 #define TRANSACTEDOBJECT_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 615 #define UPDATABILITY_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 616 #define USERNAME_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 618 #define FILTERCOMPAREOPS_Flags ( DBPROPFLAGS_VIEW | DBPROPFLAGS_READ ) 619 #define FINDCOMPAREOPS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 620 #define IChapteredRowset_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 621 #define IDBAsynchStatus_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 622 #define IRowsetFind_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 623 #define IRowsetView_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 624 #define IViewChapter_Flags ( DBPROPFLAGS_VIEW | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 625 #define IViewFilter_Flags ( DBPROPFLAGS_VIEW | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 626 #define IViewRowset_Flags ( DBPROPFLAGS_VIEW | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 627 #define IViewSort_Flags ( DBPROPFLAGS_VIEW | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 628 #define INIT_ASYNCH_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 629 #define MAXOPENCHAPTERS_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 630 #define MAXORSINFILTER_Flags ( DBPROPFLAGS_VIEW | DBPROPFLAGS_READ ) 631 #define MAXSORTCOLUMNS_Flags ( DBPROPFLAGS_VIEW | DBPROPFLAGS_READ ) 632 #define ROWSET_ASYNCH_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 633 #define SORTONINDEX_Flags ( DBPROPFLAGS_VIEW | DBPROPFLAGS_READ ) 635 #define IMultipleResults_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 636 #define DATASOURCE_TYPE_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 638 #define AXES_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 639 #define FLATTENING_SUPPORT_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 640 #define MDX_JOINCUBES_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 641 #define NAMED_LEVELS_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 643 #define MDX_SLICER_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 645 #define MDX_OUTERREFERENCE_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 646 #define MDX_QUERYBYPROPERTY_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 647 #define MDX_CASESUPPORT_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 648 #define MDX_STRING_COMPOP_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 649 #define MDX_DESCFLAGS_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 650 #define MDX_SET_FUNCTIONS_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 651 #define MDX_MEMBER_FUNCTIONS_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 652 #define MDX_NUMERIC_FUNCTIONS_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 653 #define MDX_FORMULAS_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 654 #define AGGREGATECELL_UPDATE_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 656 #define MDX_OBJQUALIFICATION_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 657 #define MDX_NONMEASURE_EXPRESSONS_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 659 #define ACCESSORDER_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 660 #define BOOKMARKINFO_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 661 #define INIT_CATALOG_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 662 #define ROW_BULKOPS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) // !!! 663 #define PROVIDERFRIENDLYNAME_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 664 #define LOCKMODE_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 665 #define MULTIPLECONNECTIONS_Flags ( DBPROPFLAGS_DATASOURCE | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 666 #define UNIQUEROWS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 667 #define SERVERDATAONINSERT_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 669 #define CONNECTIONSTATUS_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 670 #define ALTERCOLUMN_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 671 #define COLUMNLCID_Flags ( DBPROPFLAGS_COLUMN | DBPROPFLAGS_READ ) 672 #define RESETDATASOURCE_Flags ( DBPROPFLAGS_DATASOURCE | DBPROPFLAGS_WRITE ) 673 #define INIT_OLEDBSERVICES_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 674 #define IRowsetRefresh_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 675 #define SERVERNAME_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 676 #define IParentRowset_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 677 #define HIDDENCOLUMNS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ ) 678 #define PROVIDERMEMORY_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 679 #define CLIENTCURSOR_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 681 #define TRUSTEE_USERNAME_Flags ( DBPROPFLAGS_TRUSTEE | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 682 #define TRUSTEE_AUTHENTICATION_Flags ( DBPROPFLAGS_TRUSTEE | DBPROPFLAGS_WRITE ) 683 #define TRUSTEE_NEWAUTHENTICATION_Flags ( DBPROPFLAGS_TRUSTEE | DBPROPFLAGS_WRITE ) 684 #define IRow_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 685 #define IRowChange_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 686 #define IRowSchemaChange_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 687 #define IGetRow_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 688 #define IScopedOperations_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 689 #define IBindResource_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 690 #define ICreateRow_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 691 #define INIT_BINDFLAGS_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 692 #define INIT_LOCKOWNER_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 693 #define GENERATEURL_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 695 #define IColumnsInfo2_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 697 #define IGetSession_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 698 #define IGetSourceRow_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 699 #define IRowsetCurrentIndex_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 700 #define OPENROWSETSUPPORT_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 701 #define COL_ISLONG_Flags ( DBPROPFLAGS_COLUMN | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 703 #define COL_SEED_Flags ( DBPROPFLAGS_COLUMN | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 704 #define COL_INCREMENT_Flags ( DBPROPFLAGS_COLUMN | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 705 #define INIT_GENERALTIMEOUT_Flags ( DBPROPFLAGS_DBINIT | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 706 #define COMSERVICES_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 708 #define OUTPUTSTREAM_Flags ( DBPROPFLAGS_STREAM | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 709 #define OUTPUTENCODING_Flags ( DBPROPFLAGS_STREAM | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 710 #define TABLESTATISTICS_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_READ ) 711 #define SKIPROWCOUNTRESULTS_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 712 #define IRowsetBookmark_Flags ( DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE ) 713 #define VISUALMODE_Flags ( DBPROPFLAGS_DATASOURCEINFO | DBPROPFLAGS_WRITE ) 716 #define ABORTPRESERVE_Type VT_BOOL 717 #define ACTIVESESSIONS_Type VT_I4 718 #define APPENDONLY_Type VT_BOOL 719 #define ASYNCTXNABORT_Type VT_BOOL 720 #define ASYNCTXNCOMMIT_Type VT_BOOL 721 #define AUTH_CACHE_AUTHINFO_Type VT_BOOL 722 #define AUTH_ENCRYPT_PASSWORD_Type VT_BOOL 723 #define AUTH_INTEGRATED_Type VT_BSTR 724 #define AUTH_MASK_PASSWORD_Type VT_BOOL 725 #define AUTH_PASSWORD_Type VT_BSTR 726 #define AUTH_PERSIST_ENCRYPTED_Type VT_BOOL 727 #define AUTH_PERSIST_SENSITIVE_AUTHINFO_Type VT_BOOL 728 #define AUTH_USERID_Type VT_BSTR 729 #define BLOCKINGSTORAGEOBJECTS_Type VT_BOOL 730 #define BOOKMARKS_Type VT_BOOL 731 #define BOOKMARKSKIPPED_Type VT_BOOL 732 #define BOOKMARKTYPE_Type VT_I4 733 #define BYREFACCESSORS_Type VT_BOOL 734 #define CACHEDEFERRED_Type VT_BOOL 735 #define CANFETCHBACKWARDS_Type VT_BOOL 736 #define CANHOLDROWS_Type VT_BOOL 737 #define CANSCROLLBACKWARDS_Type VT_BOOL 738 #define CATALOGLOCATION_Type VT_I4 739 #define CATALOGTERM_Type VT_BSTR 740 #define CATALOGUSAGE_Type VT_I4 741 #define CHANGEINSERTEDROWS_Type VT_BOOL 742 #define COL_AUTOINCREMENT_Type VT_BOOL 743 #define COL_DEFAULT_Type VT_BSTR 744 #define COL_DESCRIPTION_Type VT_BSTR 745 #define COL_FIXEDLENGTH_Type VT_BOOL 746 #define COL_NULLABLE_Type VT_BOOL 747 #define COL_PRIMARYKEY_Type VT_BOOL 748 #define COL_UNIQUE_Type VT_BOOL 749 #define COLUMNDEFINITION_Type VT_I4 750 #define COLUMNRESTRICT_Type VT_BOOL 751 #define COMMANDTIMEOUT_Type VT_I4 752 #define COMMITPRESERVE_Type VT_BOOL 753 #define CONCATNULLBEHAVIOR_Type VT_I4 754 #define CURRENTCATALOG_Type VT_BSTR 755 #define DATASOURCENAME_Type VT_BSTR 756 #define DATASOURCEREADONLY_Type VT_BOOL 757 #define DBMSNAME_Type VT_BSTR 758 #define DBMSVER_Type VT_BSTR 759 #define DEFERRED_Type VT_BOOL 760 #define DELAYSTORAGEOBJECTS_Type VT_BOOL 761 #define DSOTHREADMODEL_Type VT_I4 762 #define GROUPBY_Type VT_I4 763 #define HETEROGENEOUSTABLES_Type VT_I4 764 #define IAccessor_Type VT_BOOL 765 #define IColumnsInfo_Type VT_BOOL 766 #define IColumnsRowset_Type VT_BOOL 767 #define IConnectionPointContainer_Type VT_BOOL 768 #define IConvertType_Type VT_BOOL 769 #define IRowset_Type VT_BOOL 770 #define IRowsetChange_Type VT_BOOL 771 #define IRowsetIdentity_Type VT_BOOL 772 #define IRowsetIndex_Type VT_BOOL 773 #define IRowsetInfo_Type VT_BOOL 774 #define IRowsetLocate_Type VT_BOOL 775 #define IRowsetResynch_Type VT_BOOL 776 #define IRowsetScroll_Type VT_BOOL 777 #define IRowsetUpdate_Type VT_BOOL 778 #define ISupportErrorInfo_Type VT_BOOL 779 #define ILockBytes_Type VT_BOOL 780 #define ISequentialStream_Type VT_BOOL 781 #define IStorage_Type VT_BOOL 782 #define IStream_Type VT_BOOL 783 #define IDENTIFIERCASE_Type VT_I4 784 #define IMMOBILEROWS_Type VT_BOOL 785 #define INDEX_AUTOUPDATE_Type VT_BOOL 786 #define INDEX_CLUSTERED_Type VT_BOOL 787 #define INDEX_FILLFACTOR_Type VT_I4 788 #define INDEX_INITIALSIZE_Type VT_I4 789 #define INDEX_NULLCOLLATION_Type VT_I4 790 #define INDEX_NULLS_Type VT_I4 791 #define INDEX_PRIMARYKEY_Type VT_BOOL 792 #define INDEX_SORTBOOKMARKS_Type VT_BOOL 793 #define INDEX_TEMPINDEX_Type VT_BOOL 794 #define INDEX_TYPE_Type VT_I4 795 #define INDEX_UNIQUE_Type VT_BOOL 796 #define INIT_DATASOURCE_Type VT_BSTR 797 #define INIT_HWND_Type VT_I4 798 #define INIT_IMPERSONATION_LEVEL_Type VT_I4 799 #define INIT_LCID_Type VT_I4 800 #define INIT_LOCATION_Type VT_BSTR 801 #define INIT_MODE_Type VT_I4 802 #define INIT_PROMPT_Type VT_I2 803 #define INIT_PROTECTION_LEVEL_Type VT_I4 804 #define INIT_PROVIDERSTRING_Type VT_BSTR 805 #define INIT_TIMEOUT_Type VT_I4 806 #define LITERALBOOKMARKS_Type VT_BOOL 807 #define LITERALIDENTITY_Type VT_BOOL 808 #define MAXINDEXSIZE_Type VT_I4 809 #define MAXOPENROWS_Type VT_I4 810 #define MAXPENDINGROWS_Type VT_I4 811 #define MAXROWS_Type VT_I4 812 #define MAXROWSIZE_Type VT_I4 813 #define MAXROWSIZEINCLUDESBLOB_Type VT_BOOL 814 #define MAXTABLESINSELECT_Type VT_I4 815 #define MAYWRITECOLUMN_Type VT_BOOL 816 #define MEMORYUSAGE_Type VT_I4 817 #define MULTIPLEPARAMSETS_Type VT_BOOL 818 #define MULTIPLERESULTS_Type VT_I4 819 #define MULTIPLESTORAGEOBJECTS_Type VT_BOOL 820 #define MULTITABLEUPDATE_Type VT_BOOL 821 #define NOTIFICATIONGRANULARITY_Type VT_I4 822 #define NOTIFICATIONPHASES_Type VT_I4 823 #define NOTIFYCOLUMNSET_Type VT_I4 824 #define NOTIFYROWDELETE_Type VT_I4 825 #define NOTIFYROWFIRSTCHANGE_Type VT_I4 826 #define NOTIFYROWINSERT_Type VT_I4 827 #define NOTIFYROWRESYNCH_Type VT_I4 828 #define NOTIFYROWSETRELEASE_Type VT_I4 829 #define NOTIFYROWSETFETCHPOSITIONCHANGE_Type VT_I4 830 #define NOTIFYROWUNDOCHANGE_Type VT_I4 831 #define NOTIFYROWUNDODELETE_Type VT_I4 832 #define NOTIFYROWUNDOINSERT_Type VT_I4 833 #define NOTIFYROWUPDATE_Type VT_I4 834 #define NULLCOLLATION_Type VT_I4 835 #define OLEOBJECTS_Type VT_I4 836 #define ORDERBYCOLUMNSINSELECT_Type VT_BOOL 837 #define ORDEREDBOOKMARKS_Type VT_BOOL 838 #define OTHERINSERT_Type VT_BOOL 839 #define OTHERUPDATEDELETE_Type VT_BOOL 840 #define OUTPUTPARAMETERAVAILABILITY_Type VT_I4 841 #define OWNINSERT_Type VT_BOOL 842 #define OWNUPDATEDELETE_Type VT_BOOL 843 #define PERSISTENTIDTYPE_Type VT_I4 844 #define PREPAREABORTBEHAVIOR_Type VT_I4 845 #define PREPARECOMMITBEHAVIOR_Type VT_I4 846 #define PROCEDURETERM_Type VT_BSTR 847 #define PROVIDERNAME_Type VT_BSTR 848 #define PROVIDEROLEDBVER_Type VT_BSTR 849 #define PROVIDERVER_Type VT_BSTR 850 #define QUICKRESTART_Type VT_BOOL 851 #define QUOTEDIDENTIFIERCASE_Type VT_I4 852 #define REENTRANTEVENTS_Type VT_BOOL 853 #define REMOVEDELETED_Type VT_BOOL 854 #define REPORTMULTIPLECHANGES_Type VT_BOOL 855 #define RETURNPENDINGINSERTS_Type VT_BOOL 856 #define ROWRESTRICT_Type VT_BOOL 857 #define ROWSETCONVERSIONSONCOMMAND_Type VT_BOOL 858 #define ROWTHREADMODEL_Type VT_I4 859 #define SCHEMATERM_Type VT_BSTR 860 #define SCHEMAUSAGE_Type VT_I4 861 #define SERVERCURSOR_Type VT_BOOL 862 #define SESS_AUTOCOMMITISOLEVELS_Type VT_I4 863 #define SQLSUPPORT_Type VT_I4 864 #define STRONGIDENTITY_Type VT_BOOL 865 #define STRUCTUREDSTORAGE_Type VT_I4 866 #define SUBQUERIES_Type VT_I4 867 #define SUPPORTEDTXNDDL_Type VT_I4 868 #define SUPPORTEDTXNISOLEVELS_Type VT_I4 869 #define SUPPORTEDTXNISORETAIN_Type VT_I4 870 #define TABLETERM_Type VT_BSTR 871 #define TBL_TEMPTABLE_Type VT_BOOL 872 #define TRANSACTEDOBJECT_Type VT_BOOL 873 #define UPDATABILITY_Type VT_I4 874 #define USERNAME_Type VT_BSTR 876 #define FILTERCOMPAREOPS_Type VT_I4 877 #define FINDCOMPAREOPS_Type VT_I4 878 #define IChapteredRowset_Type VT_BOOL 879 #define IDBAsynchStatus_Type VT_BOOL 880 #define IRowsetFind_Type VT_BOOL 881 #define IRowsetView_Type VT_BOOL 882 #define IViewChapter_Type VT_BOOL 883 #define IViewFilter_Type VT_BOOL 884 #define IViewRowset_Type VT_BOOL 885 #define IViewSort_Type VT_BOOL 886 #define INIT_ASYNCH_Type VT_I4 887 #define MAXOPENCHAPTERS_Type VT_I4 888 #define MAXORSINFILTER_Type VT_I4 889 #define MAXSORTCOLUMNS_Type VT_I4 890 #define ROWSET_ASYNCH_Type VT_I4 891 #define SORTONINDEX_Type VT_BOOL 893 #define IMultipleResults_Flags_Type VT_BOOL 894 #define DATASOURCE_TYPE_Flags_Type VT_I4 896 #define AXES_Type VT_I4 897 #define FLATTENING_SUPPORT_Type VT_I4 898 #define MDX_JOINCUBES_Type VT_I4 899 #define NAMED_LEVELS_Type VT_I4 901 #define MDX_SLICER_Type VT_I4 903 #define MDX_OUTERREFERENCE_Type VT_I4 904 #define MDX_QUERYBYPROPERTY_Type VT_BOOL 905 #define MDX_CASESUPPORT_Type VT_I4 906 #define MDX_STRING_COMPOP_Type VT_I4 907 #define MDX_DESCFLAGS_Type VT_I4 908 #define MDX_SET_FUNCTIONS_Type VT_I4 909 #define MDX_MEMBER_FUNCTIONS_Type VT_I4 910 #define MDX_NUMERIC_FUNCTIONS_Type VT_I4 911 #define MDX_FORMULAS_Type VT_I4 912 #define AGGREGATECELL_UPDATE_Type VT_I4 914 #define MDX_OBJQUALIFICATION_Type VT_I4 915 #define MDX_NONMEASURE_EXPRESSONS_Type VT_I4 917 #define ACCESSORDER_Type VT_I4 918 #define BOOKMARKINFO_Type VT_I4 919 #define INIT_CATALOG_Type VT_BSTR 920 #define ROW_BULKOPS_Type VT_I4 921 #define PROVIDERFRIENDLYNAME_Type VT_BSTR 922 #define LOCKMODE_Type VT_I4 923 #define MULTIPLECONNECTIONS_Type VT_BOOL 924 #define UNIQUEROWS_Type VT_BOOL 925 #define SERVERDATAONINSERT_Type VT_BOOL 927 #define CONNECTIONSTATUS_Type VT_I4 928 #define ALTERCOLUMN_Type VT_I4 929 #define COLUMNLCID_Type VT_I4 930 #define RESETDATASOURCE_Type VT_I4 931 #define INIT_OLEDBSERVICES_Type VT_I4 932 #define IRowsetRefresh_Type VT_BOOL 933 #define SERVERNAME_Type VT_BSTR 934 #define IParentRowset_Type VT_BOOL 935 #define HIDDENCOLUMNS_Type VT_I4 936 #define PROVIDERMEMORY_Type VT_BOOL 937 #define CLIENTCURSOR_Type VT_BOOL 939 #define TRUSTEE_USERNAME_Type VT_BSTR 940 #define TRUSTEE_AUTHENTICATION_Type VT_BSTR 941 #define TRUSTEE_NEWAUTHENTICATION_Type VT_BSTR 942 #define IRow_Type VT_BOOL 943 #define IRowChange_Type VT_BOOL 944 #define IRowSchemaChange_Type VT_BOOL 945 #define IGetRow_Type VT_BOOL 946 #define IScopedOperations_Type VT_BOOL 947 #define IBindResource_Type VT_BOOL 948 #define ICreateRow_Type VT_BOOL 949 #define INIT_BINDFLAGS_Type VT_I4 950 #define INIT_LOCKOWNER_Type VT_BSTR 951 #define GENERATEURL_Type VT_I4 953 #define IColumnsInfo2_Type VT_BOOL 955 #define IGetSession_Type VT_BOOL 956 #define IGetSourceRow_Type VT_BOOL 957 #define IRowsetCurrentIndex_Type VT_BOOL 958 #define OPENROWSETSUPPORT_Type VT_I4 959 #define COL_ISLONG_Type VT_BOOL 963 #define INIT_GENERALTIMEOUT_Type VT_I4 964 #define COMSERVICES_Type VT_I4 966 #define OUTPUTSTREAM_Type VT_UNKNOWN 967 #define OUTPUTENCODING_Type VT_BSTR 968 #define TABLESTATISTICS_Type VT_I4 969 #define SKIPROWCOUNTRESULTS_Type VT_BOOL 970 #define IRowsetBookmark_Type VT_BOOL 971 #define VISUALMODE_Type VT_I4 975 #define ABORTPRESERVE_Value ATL_VARIANT_FALSE 976 #define ACTIVESESSIONS_Value 0 977 #define APPENDONLY_Value ATL_VARIANT_FALSE 978 #define ASYNCTXNABORT_Value ATL_VARIANT_FALSE 979 #define ASYNCTXNCOMMIT_Value ATL_VARIANT_FALSE 980 #define AUTH_CACHE_AUTHINFO_Value ATL_VARIANT_FALSE 981 #define AUTH_ENCRYPT_PASSWORD_Value ATL_VARIANT_FALSE 982 #define AUTH_INTEGRATED_Value OLESTR("") 983 #define AUTH_MASK_PASSWORD_Value ATL_VARIANT_FALSE 984 #define AUTH_PASSWORD_Value OLESTR("") 985 #define AUTH_PERSIST_ENCRYPTED_Value ATL_VARIANT_FALSE 986 #define AUTH_PERSIST_SENSITIVE_AUTHINFO_Value ATL_VARIANT_FALSE 987 #define AUTH_USERID_Value OLESTR("") 988 #define BLOCKINGSTORAGEOBJECTS_Value ATL_VARIANT_FALSE 989 #define BOOKMARKS_Value ATL_VARIANT_FALSE 990 #define BOOKMARKSKIPPED_Value ATL_VARIANT_FALSE 991 #define BOOKMARKTYPE_Value 0 992 #define BYREFACCESSORS_Value ATL_VARIANT_FALSE 993 #define CACHEDEFERRED_Value ATL_VARIANT_FALSE 994 #define CANFETCHBACKWARDS_Value ATL_VARIANT_TRUE 995 #define CANHOLDROWS_Value ATL_VARIANT_TRUE 996 #define CANSCROLLBACKWARDS_Value ATL_VARIANT_TRUE 997 #define CATALOGLOCATION_Value 0 998 #define CATALOGTERM_Value OLESTR("") 999 #define CATALOGUSAGE_Value 0 1000 #define CHANGEINSERTEDROWS_Value ATL_VARIANT_FALSE 1001 #define COL_AUTOINCREMENT_Value ATL_VARIANT_FALSE 1002 #define COL_DEFAULT_Value OLESTR("") 1003 #define COL_DESCRIPTION_Value OLESTR("") 1004 #define COL_FIXEDLENGTH_Value ATL_VARIANT_FALSE 1005 #define COL_NULLABLE_Value ATL_VARIANT_FALSE 1006 #define COL_PRIMARYKEY_Value ATL_VARIANT_FALSE 1007 #define COL_UNIQUE_Value ATL_VARIANT_FALSE 1008 #define COLUMNDEFINITION_Value 0 1009 #define COLUMNRESTRICT_Value ATL_VARIANT_FALSE 1010 #define COMMANDTIMEOUT_Value 0 1011 #define COMMITPRESERVE_Value ATL_VARIANT_FALSE 1012 #define CONCATNULLBEHAVIOR_Value 0 1013 #define CURRENTCATALOG_Value OLESTR("") 1014 #define DATASOURCENAME_Value OLESTR("") 1015 #define DATASOURCEREADONLY_Value ATL_VARIANT_TRUE 1016 #define DBMSNAME_Value OLESTR("") 1017 #define DBMSVER_Value OLESTR("") 1018 #define DEFERRED_Value ATL_VARIANT_FALSE 1019 #define DELAYSTORAGEOBJECTS_Value ATL_VARIANT_FALSE 1020 #define DSOTHREADMODEL_Value DBPROPVAL_RT_APTMTTHREAD 1021 #define GROUPBY_Value 0 1022 #define HETEROGENEOUSTABLES_Value 0 1023 #define IAccessor_Value ATL_VARIANT_TRUE 1024 #define IColumnsInfo_Value ATL_VARIANT_TRUE 1025 #define IColumnsRowset_Value ATL_VARIANT_FALSE 1026 #define IConnectionPointContainer_Value ATL_VARIANT_FALSE 1027 #define IConvertType_Value ATL_VARIANT_TRUE 1028 #define IRowset_Value ATL_VARIANT_TRUE 1029 #define IRowsetChange_Value ATL_VARIANT_FALSE 1030 #define IRowsetIdentity_Value ATL_VARIANT_TRUE 1031 #define IRowsetIndex_Value ATL_VARIANT_FALSE 1032 #define IRowsetInfo_Value ATL_VARIANT_TRUE 1033 #define IRowsetLocate_Value ATL_VARIANT_FALSE 1034 #define IRowsetResynch_Value ATL_VARIANT_FALSE 1035 #define IRowsetScroll_Value ATL_VARIANT_FALSE 1036 #define IRowsetUpdate_Value ATL_VARIANT_FALSE 1037 #define ISupportErrorInfo_Value ATL_VARIANT_FALSE 1038 #define ILockBytes_Value ATL_VARIANT_FALSE 1039 #define ISequentialStream_Value ATL_VARIANT_FALSE 1040 #define IStorage_Value ATL_VARIANT_FALSE 1041 #define IStream_Value ATL_VARIANT_FALSE 1042 #define IDENTIFIERCASE_Value 0 1043 #define IMMOBILEROWS_Value ATL_VARIANT_FALSE 1044 #define INDEX_AUTOUPDATE_Value ATL_VARIANT_FALSE 1045 #define INDEX_CLUSTERED_Value ATL_VARIANT_FALSE 1046 #define INDEX_FILLFACTOR_Value 0 1047 #define INDEX_INITIALSIZE_Value 0 1048 #define INDEX_NULLCOLLATION_Value 0 1049 #define INDEX_NULLS_Value 0 1050 #define INDEX_PRIMARYKEY_Value ATL_VARIANT_FALSE 1051 #define INDEX_SORTBOOKMARKS_Value ATL_VARIANT_FALSE 1052 #define INDEX_TEMPINDEX_Value ATL_VARIANT_FALSE 1053 #define INDEX_TYPE_Value 0 1054 #define INDEX_UNIQUE_Value ATL_VARIANT_FALSE 1055 #define INIT_DATASOURCE_Value OLESTR("") 1056 #define INIT_HWND_Value 0 1057 #define INIT_IMPERSONATION_LEVEL_Value 0 1058 #define INIT_LCID_Value 0 1059 #define INIT_LOCATION_Value OLESTR("") 1060 #define INIT_MODE_Value DB_MODE_READ 1061 #define INIT_PROMPT_Value DBPROMPT_NOPROMPT 1062 #define INIT_PROTECTION_LEVEL_Value 0 1063 #define INIT_PROVIDERSTRING_Value OLESTR("") 1064 #define INIT_TIMEOUT_Value 0 1065 #define LITERALBOOKMARKS_Value ATL_VARIANT_FALSE 1066 #define LITERALIDENTITY_Value ATL_VARIANT_FALSE 1067 #define MAXINDEXSIZE_Value 0 1068 #define MAXOPENROWS_Value 0 1069 #define MAXPENDINGROWS_Value 0 1070 #define MAXROWS_Value 0 1071 #define MAXROWSIZE_Value 0 1072 #define MAXROWSIZEINCLUDESBLOB_Value ATL_VARIANT_FALSE 1073 #define MAXTABLESINSELECT_Value 0 1074 #define MAYWRITECOLUMN_Value ATL_VARIANT_FALSE 1075 #define MEMORYUSAGE_Value 0 1076 #define MULTIPLEPARAMSETS_Value ATL_VARIANT_FALSE 1077 #define MULTIPLERESULTS_Value 0 1078 #define MULTIPLESTORAGEOBJECTS_Value ATL_VARIANT_FALSE 1079 #define MULTITABLEUPDATE_Value ATL_VARIANT_FALSE 1080 #define NOTIFICATIONGRANULARITY_Value DBPROPVAL_NT_SINGLEROW 1081 #define NOTIFICATIONPHASES_Value DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO | DBPROPVAL_NP_SYNCHAFTER | DBPROPVAL_NP_FAILEDTODO | DBPROPVAL_NP_DIDEVENT 1082 #define NOTIFYCOLUMNSET_Value DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO | DBPROPVAL_NP_SYNCHAFTER 1083 #define NOTIFYROWDELETE_Value DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO | DBPROPVAL_NP_SYNCHAFTER 1084 #define NOTIFYROWFIRSTCHANGE_Value DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO | DBPROPVAL_NP_SYNCHAFTER 1085 #define NOTIFYROWINSERT_Value DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO | DBPROPVAL_NP_SYNCHAFTER 1086 #define NOTIFYROWRESYNCH_Value 0 1087 #define NOTIFYROWSETRELEASE_Value DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO | DBPROPVAL_NP_SYNCHAFTER 1088 #define NOTIFYROWSETFETCHPOSITIONCHANGE_Value DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO | DBPROPVAL_NP_SYNCHAFTER 1089 #define NOTIFYROWUNDOCHANGE_Value DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO | DBPROPVAL_NP_SYNCHAFTER 1090 #define NOTIFYROWUNDODELETE_Value DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO | DBPROPVAL_NP_SYNCHAFTER 1091 #define NOTIFYROWUNDOINSERT_Value DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO | DBPROPVAL_NP_SYNCHAFTER 1092 #define NOTIFYROWUPDATE_Value DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO | DBPROPVAL_NP_SYNCHAFTER 1093 #define NULLCOLLATION_Value 0 1094 #define OLEOBJECTS_Value 0 1095 #define ORDERBYCOLUMNSINSELECT_Value ATL_VARIANT_FALSE 1096 #define ORDEREDBOOKMARKS_Value ATL_VARIANT_FALSE 1097 #define OTHERINSERT_Value ATL_VARIANT_FALSE 1098 #define OTHERUPDATEDELETE_Value ATL_VARIANT_FALSE 1099 #define OUTPUTPARAMETERAVAILABILITY_Value 0 1100 #define OWNINSERT_Value ATL_VARIANT_FALSE 1101 #define OWNUPDATEDELETE_Value ATL_VARIANT_FALSE 1102 #define PERSISTENTIDTYPE_Value 0 1103 #define PREPAREABORTBEHAVIOR_Value 0 1104 #define PREPARECOMMITBEHAVIOR_Value 0 1105 #define PROCEDURETERM_Value OLESTR("") 1106 #define PROVIDERNAME_Value OLESTR("") 1107 #define PROVIDEROLEDBVER_Value OLESTR("02.60") 1108 #define PROVIDERVER_Value OLESTR("01.00") 1109 #define QUICKRESTART_Value ATL_VARIANT_FALSE 1110 #define QUOTEDIDENTIFIERCASE_Value 0 1111 #define REENTRANTEVENTS_Value ATL_VARIANT_FALSE 1112 #define REMOVEDELETED_Value ATL_VARIANT_FALSE 1113 #define REPORTMULTIPLECHANGES_Value ATL_VARIANT_FALSE 1114 #define RETURNPENDINGINSERTS_Value ATL_VARIANT_FALSE 1115 #define ROWRESTRICT_Value ATL_VARIANT_FALSE 1116 #define ROWSETCONVERSIONSONCOMMAND_Value ATL_VARIANT_TRUE 1117 #define ROWTHREADMODEL_Value 0 1118 #define SCHEMATERM_Value OLESTR("") 1119 #define SCHEMAUSAGE_Value 0 1120 #define SERVERCURSOR_Value ATL_VARIANT_FALSE 1121 #define SESS_AUTOCOMMITISOLEVELS_Value 0 1122 #define SQLSUPPORT_Value 0 1123 #define STRONGIDENTITY_Value ATL_VARIANT_FALSE 1124 #define STRUCTUREDSTORAGE_Value 0 1125 #define SUBQUERIES_Value 0 1126 #define SUPPORTEDTXNDDL_Value 0 1127 #define SUPPORTEDTXNISOLEVELS_Value 0 1128 #define SUPPORTEDTXNISORETAIN_Value 0 1129 #define TABLETERM_Value OLESTR("") 1130 #define TBL_TEMPTABLE_Value ATL_VARIANT_FALSE 1131 #define TRANSACTEDOBJECT_Value ATL_VARIANT_FALSE 1132 #define UPDATABILITY_Value 0 1133 #define USERNAME_Value OLESTR("") 1135 #define FILTERCOMPAREOPS_Value 0 1136 #define FINDCOMPAREOPS_Value 0 1137 #define IChapteredRowset_Value ATL_VARIANT_FALSE 1138 #define IDBAsynchStatus_Value ATL_VARIANT_FALSE 1139 #define IRowsetFind_Value ATL_VARIANT_FALSE 1140 #define IRowsetView_Value ATL_VARIANT_FALSE 1141 #define IViewChapter_Value ATL_VARIANT_FALSE 1142 #define IViewFilter_Value ATL_VARIANT_FALSE 1143 #define IViewRowset_Value ATL_VARIANT_FALSE 1144 #define IViewSort_Value ATL_VARIANT_FALSE 1145 #define INIT_ASYNCH_Value 0 1146 #define MAXOPENCHAPTERS_Value 0 1147 #define MAXORSINFILTER_Value 0 1148 #define MAXSORTCOLUMNS_Value 0 1149 #define ROWSET_ASYNCH_Value 0 1150 #define SORTONINDEX_Value ATL_VARIANT_FALSE 1152 #define IMultipleResults_Value ATL_VARIANT_FALSE 1153 #define DATASOURCE_TYPE_Value 0 1155 #define AXES_Value 0 1156 #define FLATTENING_SUPPORT_Value 0 1157 #define MDX_JOINCUBES_Value 0 1158 #define NAMED_LEVELS_Value 0 1160 #define MDX_SLICER_Value 0 1162 #define MDX_OUTERREFERENCE_Value 0 1163 #define MDX_QUERYBYPROPERTY_Value ATL_VARIANT_FALSE 1164 #define MDX_CASESUPPORT_Value 0 1165 #define MDX_STRING_COMPOP_Value 0 1166 #define MDX_DESCFLAGS_Value 0 1167 #define MDX_SET_FUNCTIONS_Value 0 1168 #define MDX_MEMBER_FUNCTIONS_Value 0 1169 #define MDX_NUMERIC_FUNCTIONS_Value 0 1170 #define MDX_FORMULAS_Value 0 1171 #define AGGREGATECELL_UPDATE_Value 0 1173 #define MDX_OBJQUALIFICATION_Value 0 1174 #define MDX_NONMEASURE_EXPRESSONS_Value 0 1176 #define ACCESSORDER_Value 0 1177 #define BOOKMARKINFO_Value 0 1178 #define INIT_CATALOG_Value OLESTR("") 1179 #define ROW_BULKOPS_Value 0 1180 #define PROVIDERFRIENDLYNAME_Value OLESTR("") 1181 #define LOCKMODE_Value 0 1182 #define MULTIPLECONNECTIONS_Value ATL_VARIANT_FALSE 1183 #define UNIQUEROWS_Value ATL_VARIANT_FALSE 1184 #define SERVERDATAONINSERT_Value ATL_VARIANT_FALSE 1186 #define CONNECTIONSTATUS_Value 0 1187 #define ALTERCOLUMN_Value 0 1188 #define COLUMNLCID_Value 0 1189 #define RESETDATASOURCE_Value 0 1190 #define INIT_OLEDBSERVICES_Value 0 1191 #define IRowsetRefresh_Value ATL_VARIANT_FALSE 1192 #define SERVERNAME_Value OLESTR("") 1193 #define IParentRowset_Value ATL_VARIANT_FALSE 1194 #define HIDDENCOLUMNS_Value 0 1195 #define PROVIDERMEMORY_Value ATL_VARIANT_FALSE 1196 #define CLIENTCURSOR_Value ATL_VARIANT_FALSE 1198 #define TRUSTEE_USERNAME_Value OLESTR("") 1199 #define TRUSTEE_AUTHENTICATION_Value OLESTR("") 1200 #define TRUSTEE_NEWAUTHENTICATION_Value OLESTR("") 1201 #define IRow_Value ATL_VARIANT_FALSE 1202 #define IRowChange_Value ATL_VARIANT_FALSE 1203 #define IRowSchemaChange_Value ATL_VARIANT_FALSE 1204 #define IGetRow_Value ATL_VARIANT_FALSE 1205 #define IScopedOperations_Value ATL_VARIANT_FALSE 1206 #define IBindResource_Value ATL_VARIANT_FALSE 1207 #define ICreateRow_Value ATL_VARIANT_FALSE 1208 #define INIT_BINDFLAGS_Value 0 1209 #define INIT_LOCKOWNER_Value OLESTR("") 1210 #define GENERATEURL_Value 0 1212 #define IColumnsInfo2_Value ATL_VARIANT_FALSE 1214 #define IGetSession_Value ATL_VARIANT_FALSE 1215 #define IGetSourceRow_Value ATL_VARIANT_FALSE 1216 #define IRowsetCurrentIndex_Value ATL_VARIANT_FALSE 1217 #define OPENROWSETSUPPORT_Value 0 1218 #define COL_ISLONG_Value ATL_VARIANT_FALSE 1222 #define INIT_GENERALTIMEOUT_Value 0 1223 #define COMSERVICES_Value 0 1225 #define OUTPUTSTREAM_Value NULL 1226 #define OUTPUTENCODING_Value NULL 1227 #define TABLESTATISTICS_Value 0 1228 #define SKIPROWCOUNTRESULTS_Value ATL_VARIANT_FALSE 1229 #define IRowsetBookmark_Value ATL_VARIANT_FALSE 1230 #define VISUALMODE_Value MDPROPVAL_VISUAL_MODE_DEFAULT 1233 #define OUT_OF_LINE virtual 1235 #define BEGIN_PROPSET_MAP(Class) \ 1236 static ATL::UPROPSET * _GetPropSet (ULONG * pNumPropSets, ULONG * pcElemPerSupported, ATL::UPROPSET * pSet = 1240 typedef Class _PropSetClass;
1242 ULONG & cElemsMax = *pcElemPerSupported;
1255 #define BEGIN_PROPERTY_SET_EX(guid, flags) \ 1256 if (pNumPropSets != NULL) 1260 pSet[nCurProp].pPropSet = &guid;
1262 pSet[nCurProp].dwFlags =
flags;
1264 pSet[nCurProp].bIsChained =
false;
1273 #define BEGIN_PROPERTY_SET(guid) BEGIN_PROPERTY_SET_EX(guid, 0) 1277 #define PROPERTY_INFO_ENTRY_EX(dwPropID, vt, dwFlags, value, options) DBPROP_##dwPropID, IDS_DBPROP_##dwPropID, vt, dwFlags, (DWORD_PTR)value, (DBPROPOPTIONS)options, 1279 #define PROPERTY_INFO_ENTRY_VALUE(dwPropID, value) PROPERTY_INFO_ENTRY_EX(dwPropID, dwPropID##_Type, dwPropID##_Flags, value, 0) 1281 #define PROPERTY_INFO_ENTRY_VALUE_FLAGS(dwPropID, value, dwFlags) PROPERTY_INFO_ENTRY_EX(dwPropID, dwPropID##_Type, dwFlags, value, 0) 1283 #define PROPERTY_INFO_ENTRY(dwPropID) PROPERTY_INFO_ENTRY_VALUE(dwPropID, dwPropID##_Value) 1288 #define MDPROPERTY_INFO_ENTRY_EX(dwPropID, vt, dwFlags, value, options) MDPROP_##dwPropID, IDS_MDPROP_##dwPropID, vt, dwFlags, (DWORD_PTR)value, (DBPROPOPTIONS)options, 1290 #define MDPROPERTY_INFO_ENTRY_VALUE(dwPropID, value) MDPROPERTY_INFO_ENTRY_EX(dwPropID, dwPropID##_Type, dwPropID##_Flags, value, 0) 1292 #define MDPROPERTY_INFO_ENTRY_VALUE_FLAGS(dwPropID, value, dwFlags) MDPROPERTY_INFO_ENTRY_EX(dwPropID, dwPropID##_Type, dwFlags, value, 0) 1294 #define MDPROPERTY_INFO_ENTRY(dwPropID) MDPROPERTY_INFO_ENTRY_VALUE(dwPropID, dwPropID##_Value) 1297 #define END_PROPERTY_SET(guid) \ 1300 if (pNumPropSets !=
NULL)
1306 pSet[nCurProp].cUPropInfo =
sizeof (aProperty
1307 ##guid) / sizeof(ATL::UPROPINFO); \ 1308 cRemainder = (pSet[nCurProp].cUPropInfo % 32) ? 1 : 0; 1310 if (cElemsMax < (pSet[nCurProp].cUPropInfo / 32 + cRemainder)) \
1313 cElemsMax = (pSet[nCurProp].cUPropInfo / 32 + cRemainder); \
1320 #define CHAIN_PROPERTY_SET(ChainClass) \ 1322 ##ChainClass, cElsSupported##ChainClass; \ 1324 ##ChainClass = (int)(DWORD_PTR)ChainClass::_GetPropSet(NULL, &cElsSupported##ChainClass); \ 1325 if (pNumPropSets != NULL) \ 1328 ATL::UPROPSET * pSetA =
1331 ATL::UPROPSET * pSetTemp = 1332 ChainClass::_GetPropSet (&cPropSets
1333 ##ChainClass, &cElsSupported##ChainClass, pSetA); \
1337 ##ChainClass) ? cElsSupported##ChainClass : cElemsMax; \ 1338 ATLASSERT (pSetTemp); 1345 ##ChainClass; iSet++) \ 1387 #define END_PROPSET_MAP() \ 1478 #define DBID_USE_GUID_OR_PGUID(e) \ 1497 #define DBID_USE_GUID(e) \ 1510 #define DBID_USE_PGUID(e) \ 1520 #define DBID_USE_NAME(e) \ 1533 #define DBID_USE_PROPID(e) \ 1547 #define DBID_IS_BOOKMARK(dbid) \ 1564 #define DwordSizeofBits(nBits) (nBits/32+1) // Use in array declarations 1565 #define CLEARBITARRAY( rgdwFlags ) memset( rgdwFlags, 0, sizeof(rgdwFlags) ) 1731 (atlTraceDBProvider,
1734 (
"Column ID out of Range\n"));
1935 ((pdbid1->eKind == DBKIND_GUID_NAME) ||
1987 case DBKIND_GUID_NAME:
2032 pdbidDest->uGuid.guid = pdbidSrc->uGuid.guid;
2033 pdbidDest->uName.ulPropid = pdbidSrc->uName.ulPropid;
2169 pdbidDest->uName.ulPropid = pdbidSrc->uName.ulPropid;
2173 pdbidDest->uName.ulPropid = pdbidSrc->uName.ulPropid;
2177 pdbidDest->uGuid.guid = pdbidSrc->uGuid.guid;
2182 (L
"Unhandled dbid1.ekind");
2209 pGuid =
dbid.uGuid.pguid;
2211 case DBKIND_GUID_NAME:
2217 pGuid = &(
dbid.uGuid.guid);
2246 return dbid.uName.ulPropid;
2266 case DBKIND_GUID_NAME:
2268 CoTaskMemFree (pdbidSrc->uName.pwszName);
2272 CoTaskMemFree (pdbidSrc->uName.pwszName);
2276 CoTaskMemFree (pdbidSrc->uGuid.pguid);
2277 CoTaskMemFree (pdbidSrc->uName.pwszName);
2281 CoTaskMemFree (pdbidSrc->uGuid.pguid);
2293 (L
"Unhandled dbid1.ekind");
2321 (CLSID_OLEDB_CONVERSIONLIBRARY,
2324 CLSCTX_INPROC_SERVER,
2373 V_UI4 (&rgInfo->vData) = 0x200;
2394 template <
class T,
class SessionClass >
2414 (atlTraceDBProvider,
2417 (
"IDBCreateSessionImpl::CreateSession\n"));
2441 (atlTraceDBProvider,
2444 (
"IDBCreateSessionImpl::CreateSession : Error not initialized\n"));
2491 !InlineIsEqualUnknown
2562 template <
class T >
2598 (atlTraceDBProvider,
2601 (
"IDBInitializeImpl::Uninitialize\n"));
2616 (atlTraceDBProvider,
2619 (
"Uninitialized called with Open Sessions\n"));
2626 delete m_pCUtlPropInfo;
2627 m_pCUtlPropInfo =
NULL;
2656 (atlTraceDBProvider,
2659 (
"IDBInitializeImpl::Initialize\n"));
2678 (atlTraceDBProvider,
2681 (
"IDBInitializeImpl::Initialize Error : Already Initialized\n"));
2684 DB_E_ALREADYINITIALIZED;
2707 (atlTraceDBProvider,
2710 (
"IDBInitializeImpl::Initialize Error : OOM\n"));
3131 template <
class T >
3317 DBPROPSET_DATASOURCEALL))
3322 DBPROPFLAGS_DATASOURCE;
3330 DBPROPSET_DATASOURCEINFOALL))
3335 DBPROPFLAGS_DATASOURCEINFO;
3343 DBPROPSET_ROWSETALL))
3356 DBPROPSET_DBINITALL))
3369 DBPROPSET_SESSIONALL))
3374 DBPROPFLAGS_SESSION;
3382 DBPROPSET_COLUMNALL))
3395 DBPROPSET_INDEXALL))
3408 DBPROPSET_TABLEALL))
3421 DBPROPSET_TRUSTEEALL))
3426 DBPROPFLAGS_TRUSTEE;
3619 CComAutoCriticalSection
3697 prgPropertyInfoSets,
3713 CComAutoCriticalSection
3769 rgInitPropsetIndexes;
3830 ULONG ulUserInitSets = 0;
3835 cSets = 1 + ulUserInitSets;
3923 (atlTraceDBProvider,
3926 (
"Could not allocate DBPROPSET array for GetProperties\n"));
4036 rgInitPropsetIndexes.
4048 pPropInfoSet[ulSet].guidPropertySet = *(
m_pUPropSet[ulCurrentInitSet].pPropSet);
4097 if ((InlineIsEqualGUID (guidSet, DBPROPSET_DATASOURCEALL) ||
4098 InlineIsEqualGUID (guidSet, DBPROPSET_DATASOURCEINFOALL) ||
4099 InlineIsEqualGUID (guidSet, DBPROPSET_DBINITALL) ||
4100 InlineIsEqualGUID (guidSet, DBPROPSET_SESSIONALL) ||
4101 InlineIsEqualGUID (guidSet, DBPROPSET_COLUMNALL) ||
4102 InlineIsEqualGUID (guidSet, DBPROPSET_CONSTRAINTALL) ||
4103 InlineIsEqualGUID (guidSet, DBPROPSET_INDEXALL) ||
4104 InlineIsEqualGUID (guidSet, DBPROPSET_TABLEALL) ||
4105 InlineIsEqualGUID (guidSet, DBPROPSET_TRUSTEEALL) ||
4106 InlineIsEqualGUID (guidSet, DBPROPSET_VIEWALL) ||
4107 InlineIsEqualGUID (guidSet, DBPROPSET_ROWSETALL)) &&
4275 ATLASSERT (ulSet < rgInitPropsetIndexes.GetCount ());
4276 ulTempSet = rgInitPropsetIndexes[ulSet];
4356 !(InlineIsEqualGUID (pPropInfoSet[ulSet].guidPropertySet, DBPROPSET_DBINIT)) &&
4357 !(InlineIsEqualGUID (pPropInfoSet[ulSet].guidPropertySet, DBPROPSET_DBINITALL))))
4437 !(InlineIsEqualGUID (pPropInfoSet[ulSet].guidPropertySet, DBPROPSET_DBINIT)) &&
4438 !(InlineIsEqualGUID (pPropInfoSet[ulSet].guidPropertySet, DBPROPSET_DBINITALL))))
4525 DBPROPFLAGS_NOTSUPPORTED;
4981 DBPROPFLAGS_NOTSUPPORTED;
5032 *prgPropertyInfoSets
5055 DB_S_ERRORSOCCURRED;
5085 DB_E_ERRORSOCCURRED;
5104 DB_E_ERRORSOCCURRED))
5247 pcElemPerSupported);
5291 &cElemsPerSupported);
5310 &cElemsPerSupported,
5389 CComAutoCriticalSection m_oCriticalSection;
5401 UPROPSET * m_pUPropSet;
5405 CAutoVectorPtr < UPROP > m_pUProp;
5406 ULONG m_cUPropSetHidden;
5412 ULONG m_cPropSetDex;
5416 CAutoVectorPtr < ULONG > m_rgiPropSetDex;
5423 ULONG m_cElemPerSupported;
5432 CAutoVectorPtr < DWORD > m_rgdwSupported;
5441 CAutoVectorPtr < DWORD > m_rgdwPropsInError;
5461 UPROPSET_PASSTHROUGH
5475 GETPROP_NOTSUPPORTED
5478 GETPROP_ERRORSOCCURRED
5484 GETPROP_PROPSINERROR
5496 SETPROP_NOTSUPPORTED
5505 SETPROP_COLUMN_LEVEL
5508 SETPROP_WAS_REQUIRED
5547 DBPROPSTATUS_NOTSUPPORTED;
5551 DB_E_ERRORSOCCURRED;
5557 GetIndexofPropIdinPropSet
5607 m_cElemPerSupported]),
5663 OnInterfaceRequested
5712 (DBPROP_IRowsetChange,
5723 (DBPROP_IRowsetUpdate,
5734 (DBPROP_IRowsetLocate,
5741 (IConnectionPointContainer)))
5745 (DBPROP_IConnectionPointContainer,
5756 (DBPROP_IRowsetScroll,
5776 virtual HRESULT OnPropertyChanged (ULONG
5867 (!
"Should have found index of property to set");
5873 DBPROPSTATUS_NOTSUPPORTED;
5917 DBPROPFLAGS_COLUMNOK)
5985 DBPROPFLAGS_COLUMNOK)
5993 if ((CompareDBIDs (&(
pDBProp->colid), &DB_NULLID) ==
S_OK))
6141 DBPROP_MAXPENDINGROWS)
6243 CComAutoCriticalSection
6246 (m_oCriticalSection);
6269 if ((cPropertySets != 0) && (rgPropertySets ==
NULL))
6270 return E_INVALIDARG;
6284 if ((rgPropertySets[ulSet].cProperties != 0) && (rgPropertySets[ulSet].rgProperties ==
NULL))
6285 return E_INVALIDARG;
6287 bool bAvailable =
false;
6288 for (ULONG l = 0; l < cSelectProps; l++)
6351 DBPROPOPTIONS_REQUIRED)
6353 SETPROP_WAS_REQUIRED
6359 DBPROPSTATUS_NOTSUPPORTED;
6382 UPROPSET_PASSTHROUGH)
6392 DB_E_ERRORSOCCURRED)
6400 SETPROP_WAS_REQUIRED;
6406 DB_S_ERRORSOCCURRED)
6464 (GetIndexofPropIdinPropSet
6481 DBPROPOPTIONS_REQUIRED)
6483 SETPROP_WAS_REQUIRED
6489 DBPROPSTATUS_NOTSUPPORTED;
6525 DBPROPOPTIONS_REQUIRED)
6532 DBPROPOPTIONS_SETIFCHEAP))
6537 (atlTraceDBProvider,
6540 (
"SetProperties dwOptions Invalid: %u\n"),
6549 SETPROP_WAS_REQUIRED;
6554 DBPROPSTATUS_BADOPTION;
6578 if ((pUPropInfo->dwFlags & DBPROPFLAGS_WRITE) == 0)
6736 DBPROPOPTIONS_REQUIRED)
6738 SETPROP_WAS_REQUIRED
6747 DBPROPOPTIONS_OPTIONAL)
6751 DBPROPSTATUS_NOTSETTABLE;
6796 DBPROPOPTIONS_REQUIRED)
6798 SETPROP_WAS_REQUIRED
6804 DBPROPSTATUS_BADVALUE;
6844 DBPROPOPTIONS_REQUIRED)
6846 SETPROP_WAS_REQUIRED
6852 DBPROPSTATUS_BADVALUE;
6875 DBPROPFLAGS_COLUMNOK)
6896 DBPROPOPTIONS_REQUIRED)
6898 SETPROP_WAS_REQUIRED
6904 DBPROPSTATUS_BADCOLUMN;
6918 SETPROP_COLUMN_LEVEL;
6924 if (SetProperty (ulCurSet, ulCurProp,
6949 DBPROPOPTIONS_REQUIRED)
6951 SETPROP_WAS_REQUIRED
6991 DB_E_ERRORSOCCURRED;
7001 SETPROP_WAS_REQUIRED)
7005 DB_S_ERRORSOCCURRED;
7207 ClearPropertyInError
7212 (m_rgdwPropsInError);
7215 (m_rgdwPropsInError,
7226 CopyUPropSetsSupported
7245 InitUPropSetsSupported
7260 GetCountofWritablePropsInPropSet
7370 InternalInitUPropSetsSupported
7386 &cElemsPerSupported,
7408 &cElemsPerSupported,
7431 InternalGetDefaultValue
7539 pVar->bstrVal = SysAllocString (rInfo.szVal);
7540 if (pVar->bstrVal ==
NULL && rInfo.szVal !=
NULL)
7639 m_cElemPerSupported;
7641 ATLASSERT ((m_cUPropSet != 0) && (m_cElemPerSupported != 0));
7650 m_cElemPerSupported));
7653 (m_rgdwPropsInError.
7657 m_cElemPerSupported));
7678 ClearPropertyInError
7682 CopyUPropSetsSupported
7697 &m_cElemPerSupported,
7718 &m_cElemPerSupported,
7729 ATLASSERT ((m_cUPropSet != 0) && (m_cElemPerSupported != 0));
7730 if (!m_cUPropSet || !m_cElemPerSupported)
7733 ATLTRY (m_rgdwSupported.Allocate (m_cUPropSet * m_cElemPerSupported));
7734 ATLTRY (m_rgdwPropsInError.Allocate (m_cUPropSet * m_cElemPerSupported));
7735 if (m_rgdwSupported ==
NULL || m_rgdwPropsInError ==
NULL)
7751 ClearPropertyInError
7757 InitUPropSetsSupported
7829 GetCountofWritablePropsInPropSet
7855 if ((rgpUPropInfo ==
NULL) || (rgUPropVal ==
NULL))
7959 DBPROPOPTIONS_SETIFCHEAP;
8057 m_cUPropSetHidden++;
8211 CComAutoCriticalSection
8214 (m_oCriticalSection);
8262 DBPROPSET_PROPERTIESINERROR))
8270 GETPROP_PROPSINERROR;
8436 if (piSetIndex[l] != m_cUPropSet)
8595 (atlTraceDBProvider,
8598 "Could not allocate DBPROPSET array for GetProperties\n");
8628 (GETPROP_ERRORSOCCURRED
8632 GETPROP_PROPSINERROR);
8818 GETPROP_ERRORSOCCURRED;
8885 GETPROP_NOTSUPPORTED;
8888 GETPROP_ERRORSOCCURRED;
8952 GETPROP_NOTSUPPORTED)
8973 DBPROPSTATUS_NOTSUPPORTED;
8992 GETPROP_NOTSUPPORTED)
9059 m_cElemPerSupported]),
9078 GETPROP_PROPSINERROR)
9086 m_cElemPerSupported]),
9166 DBPROPFLAGS_COLUMNOK)
9176 RetrieveColumnIdProps
9226 GETPROP_PROPSINERROR)
9230 DBPROPSTATUS_CONFLICTING;
9261 (GetIndexofPropIdinPropSet
9333 DBPROPFLAGS_COLUMNOK)
9343 RetrieveColumnIdProps
9399 DBPROPSTATUS_NOTSUPPORTED;
9402 GETPROP_ERRORSOCCURRED;
9428 (atlTraceDBProvider,
9431 (
"Could not allocate DBPROP array for GetProperties\n"));
9565 GETPROP_ERRORSOCCURRED)
9577 DB_S_ERRORSOCCURRED;
9589 DB_E_ERRORSOCCURRED;
9630 GetCountOfPropColids
9673 RetrieveColumnIdProps
9768 if (((cPropertySets > 0) && !rgPropertySets) || !pcProperties || !prgProperties)
9769 return E_INVALIDARG;
9817 DBPROPSET_PROPERTIESINERROR)
9821 if ((cPropertySets > 1) ||
9822 (rgPropertySets[ul].cPropertyIDs != 0) ||
9823 (rgPropertySets[ul].rgPropertyIDs !=
NULL))
9824 return E_INVALIDARG;
9845 template <
class T >
10026 DBPROPSET_DATASOURCEALL)
10031 DBPROPFLAGS_DATASOURCE;
10039 DBPROPSET_DATASOURCEINFOALL)
10044 DBPROPFLAGS_DATASOURCEINFO;
10052 DBPROPSET_ROWSETALL)
10057 DBPROPFLAGS_ROWSET;
10065 DBPROPSET_DBINITALL)
10070 DBPROPFLAGS_DBINIT;
10078 DBPROPSET_SESSIONALL)
10083 DBPROPFLAGS_SESSION;
10091 DBPROPSET_COLUMNALL)
10096 DBPROPFLAGS_COLUMN;
10104 DBPROPSET_INDEXALL)
10117 DBPROPSET_TABLEALL)
10130 DBPROPSET_TRUSTEEALL)
10135 DBPROPFLAGS_TRUSTEE;
10479 ConvertRowsetIIDtoDBPROPSET
10497 ATLASSERT ((pPropSet->cProperties == 1) || (pPropSet->rgProperties));
10499 pProp = &(pPropSet->rgProperties[0]);
10501 if (InlineIsEqualGUID (*piid, __uuidof (IAccessor)))
10502 pProp->dwPropertyID = DBPROP_IAccessor;
10512 DBPROP_IColumnsInfo;
10534 DBPROP_IRowsetInfo;
10545 DBPROP_IRowsetLocate;
10556 DBPROP_IColumnsRowset;
10567 DBPROP_IRowsetResynch;
10578 DBPROP_IRowsetScroll;
10589 DBPROP_IRowsetChange;
10600 DBPROP_IRowsetUpdate;
10607 (IRowsetIdentity)))
10611 DBPROP_IRowsetIdentity;
10618 (IConnectionPointContainer)))
10622 DBPROP_IConnectionPointContainer;
10629 (ISupportErrorInfo)))
10633 DBPROP_ISupportErrorInfo;
10644 DBPROP_IRowsetIndex;
10646 #
if( OLEDBVER >= 0x0200 )
10652 (IProvideMoniker)))
10656 DBPROP_IProvideMoniker;
10667 DBPROP_IRowsetNotify;
10685 (IRowsetExactScroll)))
10689 DBPROP_IRowsetExactScroll;
10696 (IRowsetNextRowset)))
10700 DBPROP_IRowsetNextRowset;
10707 (IRowsetNewRowAfter)))
10711 DBPROP_IRowsetNewRowAfter;
10718 (IRowsetWithParameters)))
10722 DBPROP_IRowsetWithParameters;
10733 DBPROP_IRowsetFind;
10744 DBPROP_IRowsetAsynch;
10755 DBPROP_IRowsetKeys;
10762 (IRowsetWatchAll)))
10766 DBPROP_IRowsetWatchAll;
10773 (IRowsetWatchNotify)))
10777 DBPROP_IRowsetWatchNotify;
10784 (IRowsetWatchRegion)))
10788 DBPROP_IRowsetWatchRegion;
10795 (IRowsetCopyRows)))
10799 DBPROP_IRowsetCopyRows;
10832 DBPROPOPTIONS_REQUIRED;
10874 (m_rgdwPropsInError
10877 m_cElemPerSupported]),
10917 (GetIndexofPropIdinPropSet
10979 DBPROPOPTIONS_REQUIRED)
11044 CComAutoCriticalSection
11047 (m_oCriticalSection);
11058 (GetIndexofPropIdinPropSet
11137 CComAutoCriticalSection
11140 (m_oCriticalSection);
11151 (GetIndexofPropIdinPropSet
11266 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11267 CComCritSecLock < CComAutoCriticalSection > lock (m_oCriticalSection);
11268 return m_pUProp[iPropSet].pUPropVal[iProp].dwOption;
11282 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11283 CComCritSecLock < CComAutoCriticalSection > lock (m_oCriticalSection);
11284 m_pUProp[iPropSet].pUPropVal[iProp].dwOption = dwOption;
11301 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11302 ATLASSERT (m_pUProp[iPropSet].pUPropVal[iProp].vValue.vt == VT_BOOL);
11304 return ((m_pUProp[iPropSet].pUPropVal[iProp].dwOption == DBPROPOPTIONS_REQUIRED) &&
11316 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11317 CComCritSecLock < CComAutoCriticalSection > lock (m_oCriticalSection);
11318 return m_pUProp[iPropSet].pUPropVal[iProp].dwFlags;
11330 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11331 CComCritSecLock < CComAutoCriticalSection > lock (m_oCriticalSection);
11332 m_pUProp[iPropSet].pUPropVal[iProp].dwFlags |= dwFlags;
11337 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11338 CComCritSecLock < CComAutoCriticalSection > lock (m_oCriticalSection);
11339 m_pUProp[iPropSet].pUPropVal[iProp].dwFlags &= ~dwFlags;
11344 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11345 CComCritSecLock < CComAutoCriticalSection > lock (m_oCriticalSection);
11346 return &m_pUProp[iPropSet].pUPropVal[iProp].vValue;
11358 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11364 CComAutoCriticalSection
11367 (m_oCriticalSection);
11387 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11388 CComCritSecLock < CComAutoCriticalSection > lock (m_oCriticalSection);
11389 VariantClear (&m_pUProp[iPropSet].pUPropVal[iProp].vValue);
11394 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11395 CComCritSecLock < CComAutoCriticalSection > lock (m_oCriticalSection);
11396 return (m_pUProp[iPropSet].pUPropVal[iProp].vValue.vt == VT_EMPTY);
11408 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11409 CComCritSecLock < CComAutoCriticalSection > lock (m_oCriticalSection);
11451 CComAutoCriticalSection
11454 (m_oCriticalSection);
11456 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11457 ATLASSERT (m_pUProp[iPropSet].pUPropVal[iProp].vValue.vt == VT_BOOL);
11458 return V_BOOL (&m_pUProp[iPropSet].pUPropVal[iProp].vValue);
11471 CComAutoCriticalSection
11474 (m_oCriticalSection);
11476 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11477 VariantClear (&m_pUProp[iPropSet].pUPropVal[iProp].vValue);
11478 m_pUProp[iPropSet].pUPropVal[iProp].vValue.vt = VT_I2;
11479 m_pUProp[iPropSet].pUPropVal[iProp].vValue.iVal = iVal;
11486 CComAutoCriticalSection
11489 (m_oCriticalSection);
11491 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11492 ATLASSERT (m_pUProp[iPropSet].pUPropVal[iProp].vValue.vt == VT_I2);
11493 return m_pUProp[iPropSet].pUPropVal[iProp].vValue.iVal;
11506 CComAutoCriticalSection
11509 (m_oCriticalSection);
11511 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11512 VariantClear (&m_pUProp[iPropSet].pUPropVal[iProp].vValue);
11513 m_pUProp[iPropSet].pUPropVal[iProp].vValue.vt = VT_I4;
11514 m_pUProp[iPropSet].pUPropVal[iProp].vValue.lVal = lVal;
11521 CComAutoCriticalSection
11524 (m_oCriticalSection);
11526 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11527 ATLASSERT (m_pUProp[iPropSet].pUPropVal[iProp].vValue.vt == VT_I4);
11528 return m_pUProp[iPropSet].pUPropVal[iProp].vValue.lVal;
11542 CComAutoCriticalSection
11545 (m_oCriticalSection);
11547 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11548 VARIANT * pv = &m_pUProp[iPropSet].pUPropVal[iProp].vValue;
11550 pv->bstrVal = SysAllocString (pwsz);
11570 (GetExpectedVarType
11612 CComAutoCriticalSection
11615 (m_oCriticalSection);
11617 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11618 ATLASSERT (m_pUProp[iPropSet].pUPropVal[iProp].vValue.vt == VT_BSTR);
11619 return m_pUProp[iPropSet].pUPropVal[iProp].vValue.bstrVal;
11646 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11647 return m_pUPropSet[iPropSet].pUPropInfo[iProp].dwPropId;
11658 ATLASSERT (((iPropSet < m_cUPropSet) && (iProp < m_pUPropSet[iPropSet].cUPropInfo) && (iProp < m_pUProp[iPropSet].cPropIds)));
11659 return m_pUPropSet[iPropSet].pUPropInfo[iProp].VarType;
11748 case DBPROP_IRowsetLocate:
11750 case DBPROP_LITERALBOOKMARKS:
11752 case DBPROP_ORDEREDBOOKMARKS:
11806 DBPROP_IRowsetLocate,
11828 DBPROP_IRowsetLocate)
11833 DBPROP_CANSCROLLBACKWARDS,
11845 case DBPROP_IRowsetScroll:
11863 (DBPROP_IRowsetLocate,
11873 (DBPROP_CANSCROLLBACKWARDS,
11894 case DBPROP_BOOKMARKS:
11933 DBPROP_IRowsetLocate,
11972 DBPROPSTATUS_CONFLICTING;
11978 DBPROPOPTIONS_REQUIRED)
11981 DB_E_ERRORSOCCURRED;
11986 DB_S_ERRORSOCCURRED;
12004 case DBPROP_UPDATABILITY:
12020 DBPROP_IRowsetChange,
12044 DBPROPSTATUS_CONFLICTING;
12050 DBPROPOPTIONS_REQUIRED)
12053 DB_E_ERRORSOCCURRED;
12058 DB_S_ERRORSOCCURRED;
12088 case DBPROP_IRowsetUpdate:
12121 (DBPROP_IRowsetChange,
12170 GetIndexOfPropertyInSet
12239 (GetIndexOfPropertyInSet
12278 (GetIndexOfPropertyInSet
12318 (GetIndexOfPropertyInSet
12351 m_rgdwPropsInError,
12353 m_cElemPerSupported
12364 template <
class T >
12392 (atlTraceDBProvider,
12395 (
"IDBPropertiesImpl::GetProperties\n"));
12441 ULONG ulPropSets = 0;
12442 ULONG ulPropElems = 0;
12443 ULONG ulPropInits = 0;
12444 UPROPSET * pSetA =
NULL;
12445 UPROPSET * pSetTemp =
NULL;
12447 ULONG cSets = (ULONG) (ULONG_PTR) pT->_GetPropSet (
NULL, &ulPropElems);
12449 CTempBuffer < UPROPSET > tmpBuffer;
12450 pSetA = tmpBuffer.Allocate (cSets);
12653 pcPropertyInfoSets,
12657 prgPropertyInfoSets,
12665 (atlTraceDBProvider,
12668 (
"IDBPropertiesImpl::GetPropertyInfo\n"));
12699 (atlTraceDBProvider,
12702 (
"m_pCUtlPropInfo == NULL\n"));
12720 (atlTraceDBProvider,
12723 (
"IDBProperties::GetPropertyInfo Error : OOM\n"));
12756 (pcPropertyInfoSets)
12758 *pcPropertyInfoSets
12762 (prgPropertyInfoSets)
12764 *prgPropertyInfoSets
12775 if (((cPropertySets > 0) && !rgPropertySets) ||
12776 !pcPropertyInfoSets || !prgPropertyInfoSets)
12777 return E_INVALIDARG;
12814 if ((rgPropertySets[ul].guidPropertySet == DBPROPSET_DATASOURCEALL) ||
12815 (rgPropertySets[ul].guidPropertySet == DBPROPSET_DATASOURCEINFOALL) ||
12816 (rgPropertySets[ul].guidPropertySet == DBPROPSET_DBINITALL) ||
12817 (rgPropertySets[ul].guidPropertySet == DBPROPSET_SESSIONALL) ||
12818 (rgPropertySets[ul].guidPropertySet == DBPROPSET_ROWSETALL) ||
12819 (rgPropertySets[ul].guidPropertySet == DBPROPSET_COLUMNALL) ||
12820 (rgPropertySets[ul].guidPropertySet == DBPROPSET_CONSTRAINTALL) ||
12821 (rgPropertySets[ul].guidPropertySet == DBPROPSET_INDEXALL) ||
12822 (rgPropertySets[ul].guidPropertySet == DBPROPSET_TABLEALL) ||
12823 (rgPropertySets[ul].guidPropertySet == DBPROPSET_TRUSTEEALL) ||
12824 (rgPropertySets[ul].guidPropertySet == DBPROPSET_VIEWALL))
12825 dwSpecial |= SPECIAL_GROUP;
12876 pcPropertyInfoSets,
12877 prgPropertyInfoSets,
12889 pcPropertyInfoSets,
12890 prgPropertyInfoSets,
12894 &DBPROPSET_DBINITALL);
12911 (atlTraceDBProvider,
12914 (
"IDBPropertiesImpl::SetProperties\n"));
12951 T::ObjectLock lock (pT);
12952 UPROPSET * pSetA =
NULL;
12953 UPROPSET * pSetTemp =
NULL;
12955 ULONG ulPropSets = 0;
12956 ULONG ulPropElems = 0;
12957 ULONG ulPropInits = 0;
12958 ULONG cSets = (ULONG) (ULONG_PTR) pT->_GetPropSet (
NULL, &ulPropElems);
12960 CTempBuffer < UPROPSET > tmpBuffer;
12961 pSetA = tmpBuffer.Allocate (cSets);
13052 if ((rgPropertySets[iSet].guidPropertySet == DBPROPSET_DBINIT))
13071 DBPROPSTATUS_NOTSETTABLE;
13108 DB_E_ERRORSOCCURRED;
13194 DB_S_ERRORSOCCURRED;
13306 #define BEGIN_SCHEMA_MAP(SchemaClass) \ 13357 #define SCHEMA_ENTRY(guid, rowsetClass) \ 13440 #define END_SCHEMA_MAP() \ 13453 template <
class SessionClass >
13491 (atlTraceDBProvider,
13494 (
"IDBSchemaRowsetImpl::InternalCreateSchemaRowset\n"));
13507 if ((pUnkOuter !=
NULL) && !InlineIsEqualUnknown (riid))
13508 return DB_E_NOAGGREGATION;
13509 CComPtr < IUnknown > spUnk;
13510 hr = pUnkThis->QueryInterface (__uuidof (IUnknown), (
void **) &spUnk);
13514 hr = pProps->
FInit ();
13520 const GUID * ppGuid[1];
13610 DB_S_ERRORSOCCURRED)
13649 (atlTraceDBProvider,
13652 (
"IDBSchemaRowsetImpl::CreateSchemaRowset\n"));
13706 InternalCreateSchemaRowset
13756 DB_S_ERRORSOCCURRED)
13793 (atlTraceDBProvider,
13796 (
"IDBSchemaRowsetImpl::GetSchemas\n"));
13953 (atlTraceDBProvider,
13956 (
"IDBSchemaRowsetImpl::GetRowset\n"));
14070 VT_BSTR, VT_BSTR, VT_BSTR, VT_BSTR},
14072 VT_BSTR, VT_BSTR, VT_BSTR, VT_BSTR},
14074 VT_UI2, VT_BOOL, VT_EMPTY, VT_EMPTY}};
14105 if (InlineIsEqualGUID (rguidSchema, DBSCHEMA_PROVIDER_TYPES))
14119 ulCurrentRestrictions
14143 &ulCurrentRestrictions);
14210 if (!(ulCurrentMask & ulCurrentRestrictions) &&
14211 (rgRestrictions[ulRes].vt != DBTYPE_EMPTY))
14212 return E_INVALIDARG;
14214 ulCurrentMask <<= 1;
14231 template <
class T,
class CommandClass >
14250 (atlTraceDBProvider,
14253 (
"IDBCreateCommandImpl::CreateCommand\n"));
14310 !InlineIsEqualUnknown
14313 DB_E_NOAGGREGATION;
14397 template <
class T >
14414 (atlTraceDBProvider,
14417 (
"IGetDataSourceImpl::GetDataSource\n"));
14446 template <
class SessionClass >
14485 (atlTraceDBProvider,
14488 (
"IOpenRowsetImpl::CreateRowset\n"));
14501 if ((pUnkOuter !=
NULL) && !InlineIsEqualUnknown (riid))
14502 return DB_E_NOAGGREGATION;
14503 CComPolyObject < RowsetClass > *pPolyObj;
14504 if (FAILED (hr = CComPolyObject < RowsetClass >::CreateInstance (pUnkOuter, &pPolyObj)))
14555 SetPropertiesArgChk
14617 ((SessionClass *)
this)->QueryInterface (__uuidof (IUnknown), (
void **) &spOuterUnk);
14618 pRowsetObj->SetSite (spOuterUnk);
14620 hr = pRowsetObj->SetCommandText (pTableID, pIndexID);
14623 DBROWCOUNT cRowsAffected;
14635 OnInterfaceRequested
14720 DB_S_ERRORSOCCURRED
14723 DB_S_STOPLIMITREACHED)
14732 template <
class T >
14789 InternalGetColumnInfo
14838 (atlTraceDBProvider,
14841 (
"IColumnsInfoImpl::GetColumnInfo\n"));
14897 InternalGetColumnInfo
15098 (atlTraceDBProvider,
15101 (
"Failed to allocate string buffer\n"));
15124 (atlTraceDBProvider,
15127 (
"Failed to allocate ColumnInfo array\n"));
15159 (atlTraceDBProvider,
15162 (
"IColumnsInfoImpl::MapColumnIDs\n"));
15166 if ((cColumnIDs != 0 && rgColumnIDs ==
NULL) || rgColumns ==
NULL)
15167 return E_INVALIDARG;
15168 DBORDINAL cCols = 0;
15169 DBORDINAL cColsInError = 0;
15171 ATLCOLUMNINFO * pInfo;
15172 for (DBORDINAL iColId = 0; iColId < cColumnIDs; iColId++)
15176 InternalGetColumnInfo
15249 DB_E_ERRORSOCCURRED;
15259 DB_S_ERRORSOCCURRED;
15269 template <
class T >
15300 if ((dwConvertFlags & ~(DBCONVERTFLAGS_ISLONG | DBCONVERTFLAGS_ISFIXEDLENGTH | DBCONVERTFLAGS_FROMVARIANT)) != DBCONVERTFLAGS_COLUMN
15301 &&(dwConvertFlags & ~(DBCONVERTFLAGS_ISLONG | DBCONVERTFLAGS_ISFIXEDLENGTH | DBCONVERTFLAGS_FROMVARIANT)) != DBCONVERTFLAGS_PARAMETER)
15302 return DB_E_BADCONVERTFLAG;
15318 DBCONVERTFLAGS_FROMVARIANT)
15322 if ((wFromType == DBTYPE_BYTES) ||
15325 (wFromType == DBTYPE_NUMERIC) ||
15326 (wFromType == DBTYPE_UDT) ||
15327 (wFromType == DBTYPE_DBDATE) ||
15328 (wFromType == DBTYPE_DBTIME) ||
15329 (wFromType == DBTYPE_DBTIMESTAMP) ||
15330 (wFromType == DBTYPE_HCHAPTER) ||
15331 (wFromType == DBTYPE_PROPVARIANT) ||
15332 (wFromType == DBTYPE_VARNUMERIC))
15333 return DB_E_BADTYPE;
15397 if ((dwConvertFlags & DBCONVERTFLAGS_ISLONG) &&
15399 return DB_E_BADCONVERTFLAG;
15401 DBCONVERTFLAGS dwBaseFlags = (DBCONVERTFLAGS) (dwConvertFlags & ~(DBCONVERTFLAGS_ISLONG | DBCONVERTFLAGS_ISFIXEDLENGTH | DBCONVERTFLAGS_FROMVARIANT));
15411 DBCONVERTFLAGS_PARAMETER)
15429 DB_E_BADCONVERTFLAG;
15460 DB_E_BADCONVERTFLAG;
15484 DBCONVERTFLAGS_COLUMN))
15490 (DBPROPSET_DATASOURCEINFO);
15494 (DBPROP_ROWSETCONVERSIONSONCOMMAND);
15561 DB_E_BADCONVERTFLAG;
15574 DB_E_BADCONVERTFLAG;
15585 DB_E_BADCONVERTFLAG;
15613 DB_E_BADCONVERTFLAG;
15676 (atlTraceDBProvider,
15679 (
"IConvertTypeImpl::CanConvert\n"));
15699 template <
class T,
class PropClass = T >
15702 ICommandProperties,
15734 (atlTraceDBProvider,
15737 (
"ICommandPropertiesImpl::GetProperties\n"));
15766 ULONG ulPropSets = 0;
15767 ULONG ulPropElems = 0;
15768 ULONG ulPropInits = 0;
15769 UPROPSET * pSetA =
NULL;
15770 UPROPSET * pSetTemp =
NULL;
15772 ULONG cSets = (ULONG) (ULONG_PTR) pT->_GetPropSet (
NULL, &ulPropElems);
15774 CTempBuffer < UPROPSET > tmpBuffer;
15775 pSetA = tmpBuffer.Allocate (cSets);
15881 ATLTRACE (atlTraceDBProvider, 2, _T (
"ICommandPropertiesImpl::SetProperties\n"));
15882 T * pT = (T *)
this;
15884 if (pT->m_cRowsetsOpen > 0)
15885 return DB_E_OBJECTOPEN;
15909 ULONG ulPropSets = 0;
15910 ULONG ulPropElems = 0;
15911 ULONG ulPropInits = 0;
15912 UPROPSET * pSetA =
NULL;
15913 UPROPSET * pSetTemp =
NULL;
15915 ULONG cSets = (ULONG) (ULONG_PTR) pT->_GetPropSet (
NULL, &ulPropElems);
15917 CTempBuffer < UPROPSET > tmpBuffer;
15918 pSetA = tmpBuffer.Allocate (cSets);
16010 template <
class T,
class CommandBase = ICommand >
16025 m_bCancelWhenExecuting
16057 (atlTraceDBProvider,
16060 (
"ICommandImpl::Cancel\n"));
16072 m_bCancelWhenExecuting)
16087 !m_bCancelWhenExecuting)
16103 (atlTraceDBProvider,
16106 (
"ICommandImpl::GetDBSession\n"));
16157 (atlTraceDBProvider,
16160 (
"ICommandImpl::CreateRowset\n"));
16181 (atlTraceDBProvider,
16184 (
"ICommandImpl::No command text specified.\n"));
16198 (atlTraceDBProvider,
16201 (
"IID_NULL was specified in Execute, returning S_OK"));
16217 if ((pUnkOuter !=
NULL) && !InlineIsEqualUnknown (riid))
16218 return DB_E_NOAGGREGATION;
16219 CComPolyObject < RowsetClass > *pPolyObj;
16220 if (FAILED (hr = CComPolyObject < RowsetClass >::CreateInstance (pUnkOuter, &pPolyObj)))
16321 OnInterfaceRequested
16375 (atlTraceDBProvider,
16378 (
"Failed to allocate memory for new Binding\n"));
16395 (atlTraceDBProvider,
16398 (
"The map appears to be corrupted, failing!!\n"));
16433 _ATLDELETEEXCEPTION
16437 (atlTraceDBProvider,
16440 (
"Failed to add hAccessor to Map\n"));
16467 (atlTraceDBProvider,
16470 (
"Failed to Allocate dbbinding Array\n"));
16494 pBind->pBindings =
NULL;
16635 unsigned m_bIsExecuting: 1;
16636 unsigned m_bCancelWhenExecuting: 1;
16637 unsigned m_bCancel: 1;
16638 unsigned m_bRowsetReturned: 1;
16642 template <
class T >
16674 (atlTraceDBProvider,
16677 (
"ICommandTextImpl::GetCommandText\n"));
16712 (atlTraceDBProvider,
16715 (
"ICommandTextImpl::GetCommandText Bad Command buffer\n"));
16733 (atlTraceDBProvider,
16736 (
"ICommandTextImpl::GetCommandText Bad Command buffer\n"));
16746 AtlAllocTaskWideString
16765 (!InlineIsEqualGUID
16770 DB_S_DIALECTIGNORED;
16808 (atlTraceDBProvider,
16811 (
"ICommandTextImpl::SetCommandText\n"));
16836 DBPROPVAL_SQL_NONE,
16848 DB_E_DIALECTNOTSUPPORTED;
16858 DB_E_DIALECTNOTSUPPORTED;
16885 template <
class T,
class PropClass = T >
16888 ISessionProperties,
16920 (atlTraceDBProvider,
16923 (
"ISessionPropertiesImpl::GetProperties\n"));
16969 ULONG ulPropSets = 0;
16970 ULONG ulPropElems = 0;
16971 ULONG ulPropInits = 0;
16972 UPROPSET * pSetA =
NULL;
16973 UPROPSET * pSetTemp =
NULL;
16975 ULONG cSets = (ULONG) (ULONG_PTR) pT->_GetPropSet (
NULL, &ulPropElems);
16977 CTempBuffer < UPROPSET > tmpBuffer;
16978 pSetA = tmpBuffer.Allocate (cSets);
17081 (atlTraceDBProvider,
17084 (
"ISessionPropertiesImpl::SetProperties"));
17109 ULONG ulPropSets = 0;
17110 ULONG ulPropElems = 0;
17111 ULONG ulPropInits = 0;
17112 UPROPSET * pSetA =
NULL;
17113 UPROPSET * pSetTemp =
NULL;
17115 ULONG cSets = (ULONG) (ULONG_PTR) pT->_GetPropSet (
NULL, &ulPropElems);
17117 CTempBuffer < UPROPSET > tmpBuffer;
17118 pSetA = tmpBuffer.Allocate (cSets);
17210 template <
class BindType >
17218 STDMETHOD (CreateAccessor) (DBACCESSORFLAGS dwAccessorFlags,
17219 DBCOUNTITEM cBindings,
17220 const DBBINDING rgBindings[],
17238 DBACCESSOR_PARAMETERDATA)
17243 DBACCESSOR_ROWDATA))
17246 DB_E_BADACCESSORFLAGS;
17251 DBACCESSOR_INVALID)
17254 DB_E_BADACCESSORFLAGS;
17261 DB_E_BADACCESSORFLAGS;
17276 (atlTraceDBProvider,
17279 (
"Failed to allocate ATL Binding struct\n"));
17314 pBind->pBindings =
NULL;
17364 return ((dbToCheck & dbCombo) == dbCombo);
17415 DB_E_ERRORSOCCURRED;
17419 DBBINDSTATUS_BADORDINAL;
17426 if (rBindCur.dwPart == 0)
17433 DB_E_ERRORSOCCURRED;
17437 DBBINDSTATUS_BADBINDINFO;
17452 DB_E_ERRORSOCCURRED;
17456 DBBINDSTATUS_BADBINDINFO;
17471 DB_E_ERRORSOCCURRED;
17475 DBBINDSTATUS_BADBINDINFO;
17490 DB_E_ERRORSOCCURRED;
17494 DBBINDSTATUS_BADBINDINFO;
17510 DB_E_ERRORSOCCURRED;
17514 DBBINDSTATUS_BADBINDINFO;
17527 DB_E_ERRORSOCCURRED;
17531 DBBINDSTATUS_BADBINDINFO;
17561 DB_E_ERRORSOCCURRED;
17565 DBBINDSTATUS_BADBINDINFO;
17597 DB_E_ERRORSOCCURRED;
17601 DBBINDSTATUS_BADBINDINFO;
17630 DB_E_ERRORSOCCURRED;
17634 DBBINDSTATUS_BADBINDINFO;
17643 DBMEMOWNER_PROVIDEROWNED)
17668 HasFlag ((DBTYPE) (~(DBTYPE_BYREF) & rBindCur.wType), DBTYPE_BSTR);
17669 if (!bIsPointerType)
17673 DB_E_ERRORSOCCURRED;
17677 DBBINDSTATUS_BADBINDINFO;
17688 DBMEMOWNER_CLIENTOWNED)
17723 DB_E_ERRORSOCCURRED;
17727 DBBINDSTATUS_BADBINDINFO;
17740 unsigned m_bIsCommand: 1;
17741 unsigned m_bHasParamaters: 1;
17742 unsigned m_bIsChangeable: 1;
17747 template <
class T,
class BindType = ATLBINDINGS,
17748 class BindingVector = CAtlMap < HACCESSOR, BindType * >>
17767 m_bIsCommand =
FALSE;
17768 m_bHasParamaters =
FALSE;
17769 m_bIsChangeable =
FALSE;
17776 CComPtr < ICommand > spCommand;
17777 CComPtr < ICommandWithParameters > spCommandWithParameters;
17778 T * pT = (T *)
this;
17780 pT->_InternalQueryInterface (IID_ICommand, (
void **) &spCommand);
17782 if (spCommand !=
NULL)
17791 _InternalQueryInterface
17792 (IID_ICommandWithParameters,
17794 &spCommandWithParameters);
17798 spCommandWithParameters
17816 InternalFinalConstruct
17833 (atlTraceDBProvider,
17836 (
"IAccessorImpl::~IAccessorImpl Bindings still in vector, removing\n"));
17863 (atlTraceDBProvider,
17866 (
"IAccessorImpl::AddRefAccessor\n"));
17874 (atlTraceDBProvider,
17877 (
"AddRefAccessor : Bad hAccessor\n"));
17880 DB_E_BADACCESSORHANDLE;
17893 DB_E_BADACCESSORHANDLE;
17903 Increment ((
LONG *) & pBind->dwRef);
17905 if (pcRefCount !=
NULL)
17906 *pcRefCount = cRefCount;
17939 ValidateBindingsFromMetaData
17981 const DBBINDING & rBindCur = rgBindings[iBinding];
17982 DBORDINAL iOrdAdjusted;
17984 iOrdAdjusted = rBindCur.iOrdinal;
17991 iOrdAdjusted = rBindCur.iOrdinal - 1;
18002 DB_E_ERRORSOCCURRED;
18006 DBBINDSTATUS_BADORDINAL;
18033 DBMEMOWNER_PROVIDEROWNED)
18037 if ((rBindCur.wType & DBTYPE_BYREF) != 0 &&
18038 ((rBindCur.wType & (~DBTYPE_BYREF)) !=
18039 (pColInfo[iOrdAdjusted].wType & (~DBTYPE_BYREF))))
18043 DB_E_ERRORSOCCURRED;
18047 DBBINDSTATUS_BADBINDINFO;
18079 DB_E_ERRORSOCCURRED;
18083 DBBINDSTATUS_UNSUPPORTEDCONVERSION;
18116 (atlTraceDBProvider,
18119 (
"IAccessorImpl::CreateAccessor\n"));
18135 (atlTraceDBProvider,
18138 (
"IAccessorImpl::CreateAccessor : Inavlid NULL Parameter for HACCESSOR*\n"));
18157 (atlTraceDBProvider,
18160 (
"IAccessorImpl::CreateAccessor : Bad Binding array\n"));
18170 DBACCESSOR_PASSBYREF)
18182 DBPROP_BYREFACCESSORS,
18194 DB_E_BYREFACCESSORNOTSUPPORTED;
18199 (!m_bHasParamaters)
18206 DBACCESSOR_PARAMETERDATA)
18209 DB_E_BADACCESSORFLAGS;
18262 DBACCESSOR_OPTIMIZED;
18275 DBPROP_UPDATABILITY,
18285 DBPROPVAL_UP_INSERT));
18295 if (cBindings == 0)
18302 DB_E_NULLACCESSORNOTSUPPORTED;
18307 CTempBuffer < DBBINDSTATUS > tmpBuffer;
18308 if (rgStatus ==
NULL && cBindings)
18366 ValidateBindingsFromMetaData
18412 SetAt ((HACCESSOR) pBind, pBind);
18420 _ATLDELETEEXCEPTION
18453 (atlTraceDBProvider,
18456 (
"IAccessorImpl::GetBindings\n"));
18491 if ((pdwAccessorFlags && pcBindings && prgBindings) ==
NULL)
18492 return E_INVALIDARG;
18495 bool bFound = m_rgBindings.Lookup ((INT_PTR) hAccessor, pBind);
18496 HRESULT hr = DB_E_BADACCESSORHANDLE;
18497 if (bFound && pBind !=
NULL)
18511 *prgBindings = (pBind->cBindings) ? (DBBINDING *) CoTaskMemAlloc (*pcBindings *
sizeof (DBBINDING)) :
NULL;
18512 if (*prgBindings ==
NULL && pBind->cBindings)
18545 (atlTraceDBProvider,
18548 (
"IAccessorImpl::ReleaseAccessor\n"));
18560 Lookup ((INT_PTR) hAccessor, pBind);
18561 if (!bFound || pBind ==
NULL)
18562 return DB_E_BADACCESSORHANDLE;
18563 DBREFCOUNT cRefCount = T::_ThreadModel::Decrement ((
LONG *) & pBind->dwRef);
18564 if (pcRefCount !=
NULL)
18565 *pcRefCount = cRefCount;
18566 if (cRefCount == 0)
18580 DB_E_BADACCESSORHANDLE;
18594 #define BEGIN_PROVIDER_COLUMN_MAP(theClass) \ 18620 #define SIZEOF_MEMBER(memberOf, member) \ 18621 sizeof (((memberOf *) 0)->member) 18622 #define EXPANDGUID(guid) \ 18639 #define PROVIDER_COLUMN_ENTRY_GN(name, ordinal, flags, colSize, dbtype, precision, scale, guid) \ 18665 #define PROVIDER_COLUMN_ENTRY_EX(name, typeinfo, ordinal, flags, colSize, dbtype, precision, scale, guid, member) \ 18707 #define PROVIDER_COLUMN_ENTRY(name, ordinal, member) \ 18708 PROVIDER_COLUMN_ENTRY_EX 18725 PROVIDER_COLUMN_ENTRY_EX
18743 #define PROVIDER_COLUMN_ENTRY_LENGTH(name, ordinal, size, member) \ 18744 PROVIDER_COLUMN_ENTRY_EX 18758 PROVIDER_COLUMN_ENTRY_EX
18767 #define PROVIDER_COLUMN_ENTRY_TYPE(name, ordinal, type, member) \ 18768 PROVIDER_COLUMN_ENTRY_EX 18781 PROVIDER_COLUMN_ENTRY_EX
18795 #define PROVIDER_COLUMN_ENTRY_FIXED(name, ordinal, type, member) \ 18796 PROVIDER_COLUMN_ENTRY_EX 18809 PROVIDER_COLUMN_ENTRY_EX
18821 #define PROVIDER_COLUMN_ENTRY_WSTR(name, ordinal, member) \ 18822 PROVIDER_COLUMN_ENTRY_EX 18937 _ATLDELETEEXCEPTION
18993 m_iRowset = iRowsetCur;
18994 m_iOriginalRowset = iRowsetCur;
19016 CComObjectThreadModel::
19017 Increment ((LPLONG) & m_dwRef);}
19023 CComObjectThreadModel::
19024 Decrement ((LPLONG) & m_dwRef);}
19052 DBPENDINGSTATUS m_status;
19055 KeyType m_iOriginalRowset;
19091 DBREASON_COLUMN_SET,
19093 DBEVENTPHASE_FAILEDTODO,
19127 DBPENDINGSTATUS_CHANGED
19132 (DBPENDINGSTATUS_NEW
19134 DBPENDINGSTATUS_UNCHANGED))
19143 DBREASON_ROW_FIRSTCHANGE,
19144 DBEVENTPHASE_FAILEDTODO,
19153 template <
class T,
class RowClass,
class MapClass >
19155 RowClass * pRow, MapClass *
19164 (atlTraceDBProvider,
19167 (
"TransferData\n"));
19182 Fire_OnFieldChange)
19273 DBPROP_IRowsetUpdate,
19303 Fire_OnFieldChange)
19344 DBPENDINGSTATUS_INVALIDROW)
19350 Fire_OnFieldChange)
19380 Lookup ((INT_PTR) hAccessor, pBinding);
19381 if (!bFound || pBinding ==
NULL)
19386 Fire_OnFieldChange)
19404 DB_E_BADACCESSORHANDLE;
19419 Fire_OnFieldChange)
19458 m_rgRowData[(
LONG) pRow->m_iRowset]);
19470 m_rgRowData[(
LONG) pRow->m_iRowset]);
19481 Fire_OnFieldChange)
19492 (DBPENDINGSTATUS_NEW
19494 DBPENDINGSTATUS_UNCHANGED))
19524 _ATLDELETEEXCEPTION
19544 DBREASON_COLUMN_SET,
19546 DBEVENTPHASE_OKTODO,
19571 DBREASON_ROW_FIRSTCHANGE,
19572 DBEVENTPHASE_FAILEDTODO,
19593 DBREASON_COLUMN_SET,
19594 DBEVENTPHASE_ABOUTTODO,
19620 DBREASON_ROW_FIRSTCHANGE,
19621 DBEVENTPHASE_FAILEDTODO,
19642 DBREASON_COLUMN_SET,
19644 DBEVENTPHASE_SYNCHAFTER,
19669 DBREASON_ROW_FIRSTCHANGE,
19670 DBEVENTPHASE_FAILEDTODO,
19695 DBPENDINGSTATUS_CHANGED
19701 (DBPENDINGSTATUS_NEW
19703 DBPENDINGSTATUS_UNCHANGED))
19714 DBREASON_ROW_FIRSTCHANGE,
19715 DBEVENTPHASE_SYNCHAFTER,
19719 if ((hrNotify !=
S_OK) && (hrNotify != E_FAIL))
19724 Fire_OnFieldChange)
19737 DBREASON_COLUMN_SET,
19739 DBEVENTPHASE_FAILEDTODO,
19805 Fire_OnFieldChange)
19890 if ((pBindCur->dwPart & DBPART_LENGTH) &&
19891 !(pBindCur->dwPart & DBPART_VALUE) &&
19892 !(pBindCur->dwPart & DBPART_STATUS))
19897 Fire_OnFieldChange)
19908 (DBPENDINGSTATUS_NEW
19910 DBPENDINGSTATUS_UNCHANGED))
19923 DBREASON_COLUMN_SET,
19924 DBEVENTPHASE_FAILEDTODO,
20091 ((pBindCur->dwPart & DBPART_LENGTH) && (pBindCur->wType == DBTYPE_BYTES)))
20102 Fire_OnFieldChange)
20113 (DBPENDINGSTATUS_NEW
20115 DBPENDINGSTATUS_UNCHANGED))
20128 DBREASON_COLUMN_SET,
20129 DBEVENTPHASE_FAILEDTODO,
20148 DBSTATUS_E_UNAVAILABLE;
20160 case DBSTATUS_S_ISNULL:
20166 DBCOLUMNFLAGS_ISNULLABLE)
20180 Fire_OnFieldChange)
20191 (DBPENDINGSTATUS_NEW
20193 DBPENDINGSTATUS_UNCHANGED))
20207 DBREASON_COLUMN_SET,
20208 DBEVENTPHASE_FAILEDTODO,
20226 DBCOLUMNFLAGS_ISNULLABLE))
20236 DBSTATUS_E_INTEGRITYVIOLATION;
20249 Fire_OnFieldChange)
20260 (DBPENDINGSTATUS_NEW
20262 DBPENDINGSTATUS_UNCHANGED))
20272 DBREASON_COLUMN_SET,
20273 DBEVENTPHASE_DIDEVENT,
20296 case DBSTATUS_S_DEFAULT:
20298 case DBSTATUS_S_IGNORE:
20327 Fire_OnFieldChange)
20338 (DBPENDINGSTATUS_NEW
20340 DBPENDINGSTATUS_UNCHANGED))
20353 DBREASON_COLUMN_SET,
20355 DBEVENTPHASE_FAILEDTODO,
20377 Fire_OnFieldChange)
20388 (DBPENDINGSTATUS_NEW
20390 DBPENDINGSTATUS_UNCHANGED))
20403 DBREASON_COLUMN_SET,
20405 DBEVENTPHASE_DIDEVENT,
20420 case DBSTATUS_S_OK:
20443 Fire_OnFieldChange)
20454 (DBPENDINGSTATUS_NEW
20456 DBPENDINGSTATUS_UNCHANGED))
20469 DBREASON_COLUMN_SET,
20471 DBEVENTPHASE_FAILEDTODO,
20504 DBSTATUS_E_BADSTATUS;
20509 Fire_OnFieldChange)
20520 (DBPENDINGSTATUS_NEW
20522 DBPENDINGSTATUS_UNCHANGED))
20535 DBREASON_COLUMN_SET,
20537 DBEVENTPHASE_FAILEDTODO,
20591 lstrlenA ((LPSTR) (((BYTE *) pSrcData) + pColCur->cbOffset));
20616 cbCol = lstrlenA ((LPSTR) (pSrcTemp));
20623 if (cbCol > (cbDst + 1))
20630 Fire_OnFieldChange)
20641 (DBPENDINGSTATUS_NEW
20643 DBPENDINGSTATUS_UNCHANGED))
20656 DBREASON_COLUMN_SET,
20658 DBEVENTPHASE_FAILEDTODO,
20681 DBSTATUS_E_CANTCONVERTVALUE;
20708 lstrlenW ((LPWSTR) (((BYTE *) pSrcData) + pColCur->cbOffset)) *
sizeof (WCHAR);
20730 lstrlenW ((LPWSTR) (pSrcData)) *
sizeof (WCHAR);
20732 if (cbCol >= cbDst)
20735 if (cbCol > (cbDst + 1))
20742 Fire_OnFieldChange)
20753 (DBPENDINGSTATUS_NEW
20755 DBPENDINGSTATUS_UNCHANGED))
20768 DBREASON_COLUMN_SET,
20770 DBEVENTPHASE_FAILEDTODO,
20793 DBSTATUS_E_CANTCONVERTVALUE;
20845 Fire_OnFieldChange)
20856 (DBPENDINGSTATUS_NEW
20858 DBPENDINGSTATUS_UNCHANGED))
20871 DBREASON_COLUMN_SET,
20873 DBEVENTPHASE_FAILEDTODO,
20894 if (cbCol >= cbDst)
20953 DBMEMOWNER_PROVIDEROWNED
21013 if (!(pBindCur->dwPart & DBPART_VALUE))
21089 Fire_OnFieldChange)
21100 (DBPENDINGSTATUS_NEW
21102 DBPENDINGSTATUS_UNCHANGED))
21115 DBREASON_COLUMN_SET,
21117 DBEVENTPHASE_FAILEDTODO,
21151 Fire_OnFieldChange)
21172 DB_S_ERRORSOCCURRED
21174 DB_E_ERRORSOCCURRED;
21188 Fire_OnFieldChange)
21199 (DBPENDINGSTATUS_NEW
21201 DBPENDINGSTATUS_UNCHANGED))
21214 DBREASON_COLUMN_SET,
21216 DBEVENTPHASE_DIDEVENT,
21231 template <
class T,
class Storage,
21232 class BaseInterface = IRowsetChange,
21234 class MapClass = CAtlMap < RowClass::KeyType, RowClass * >>
21243 STDMETHOD (DeleteRows) (HCHAPTER
21260 (atlTraceDBProvider,
21263 (
"IRowsetChangeImpl::DeleteRows"));
21330 DBPROP_UPDATABILITY,
21377 DBPROP_IRowsetUpdate,
21429 DBREASON_ROW_DELETE,
21430 DBEVENTPHASE_OKTODO,
21448 DBROWSTATUS_E_CANCELED;
21463 DBREASON_ROW_DELETE,
21464 DBEVENTPHASE_ABOUTTODO,
21482 DBROWSTATUS_E_CANCELED;
21507 DBREASON_ROW_DELETE,
21508 DBEVENTPHASE_SYNCHAFTER,
21526 DBROWSTATUS_E_CANCELED;
21560 DBROWSTATUS_E_INVALID;
21582 DBPENDINGSTATUS_DELETED)
21597 DBREASON_ROW_DELETE,
21598 DBEVENTPHASE_FAILEDTODO,
21610 DBROWSTATUS_E_DELETED;
21638 DBPENDINGSTATUS_INVALIDROW)
21652 DBREASON_ROW_DELETE,
21654 DBEVENTPHASE_DIDEVENT,
21681 DBREASON_ROW_DELETE,
21682 DBEVENTPHASE_FAILEDTODO,
21700 DBROWSTATUS_E_INVALID;
21705 DBROWSTATUS_E_DELETED;
21756 DBREASON_ROW_DELETE,
21757 DBEVENTPHASE_FAILEDTODO,
21764 DBROWSTATUS_E_INVALID;
21864 if (pT->m_rgBookmarks[
k] == (DBROWCOUNT) (pRow->m_iRowset + 1))
21865 pT->m_rgBookmarks[
k] = -1;
21909 DBREASON_ROW_DELETE,
21910 DBEVENTPHASE_FAILEDTODO,
21919 DBROWSTATUS_E_FAIL;
21940 DBREASON_ROW_DELETE,
21941 DBEVENTPHASE_DIDEVENT,
21974 DBPENDINGSTATUS_NEW)
21978 DBPENDINGSTATUS_INVALIDROW;
21987 DBPENDINGSTATUS_INVALIDROW)
21991 DBPENDINGSTATUS_DELETED;
22014 DB_S_ERRORSOCCURRED
22016 DB_E_ERRORSOCCURRED;
22034 (atlTraceDBProvider,
22037 (
"IRowsetChangeImpl::SetData\n"));
22050 Fire_OnFieldChange)
22101 DBPROP_UPDATABILITY,
22108 DBPROPVAL_UP_CHANGE))
22155 HRESULT hrFlush = pT->FlushData (hRow, hAccessor);
22157 if (SUCCEEDED (hrFlush))
22172 STDMETHOD (InsertRow) (HCHAPTER
22187 (atlTraceDBProvider,
22190 (
"IRowsetChangeImpl::InsertRow\n"));
22207 HRESULT hrNotify =
S_OK;
22275 DBPROP_UPDATABILITY,
22282 DBPROPVAL_UP_INSERT))
22305 Lookup ((INT_PTR) hAccessor, pBinding);
22306 if (!bFound || pBinding ==
NULL)
22307 return DB_E_BADACCESSORHANDLE;
22342 DBPROP_CANHOLDROWS,
22413 DBPENDINGSTATUS_UNCHANGED)
22416 DB_E_ROWSNOTRELEASED;
22498 *((DBBKMARK *) (&newRow + pInfo[
i].cbOffset)) = (ULONG_PTR) (pT->m_rgRowData.GetCount () + 1);
22535 CreateRow ((LONG_PTR) lSize, ulRowsObtained, &hInsertedRow);
22558 DBREASON_ROW_INSERT,
22560 DBEVENTPHASE_OKTODO,
22574 RemoveKey ((RowClass::KeyType) hInsertedRow);
22575 return DB_E_CANCELED;
22584 DBREASON_ROW_INSERT,
22586 DBEVENTPHASE_ABOUTTODO,
22600 RemoveKey ((RowClass::KeyType) hInsertedRow);
22601 return DB_E_CANCELED;
22631 DBPROP_IMMOBILEROWS,
22633 &varOrderedInsert);
22674 _ATLDELETEEXCEPTION
22678 (atlTraceDBProvider,
22681 (
"Failed to add record Out of Memory"));
22716 DBPROP_IRowsetUpdate,
22766 DBPENDINGSTATUS_NEW
22768 DBPENDINGSTATUS_UNCHANGED;
22799 DBREASON_ROW_INSERT,
22801 DBEVENTPHASE_FAILEDTODO,
22819 DBPENDINGSTATUS_NEW;
22833 DBREASON_ROW_INSERT,
22835 DBEVENTPHASE_SYNCHAFTER,
22874 RemoveKey ((RowClass::KeyType) hInsertedRow);
22876 return DB_E_CANCELED;
22884 DBREASON_ROW_INSERT,
22886 DBEVENTPHASE_DIDEVENT,
22931 template <
class T,
class RowsetInterface,
22933 class MapClass = CAtlMap < RowClass::KeyType, RowClass * >>
23024 (atlTraceDBProvider,
23027 (
"IRowsetImpl::AddRefRows\n"));
23095 Lookup ((RowClass::KeyType) hRowCur, pRow);
23096 if (!bFound || pRow ==
NULL)
23100 (atlTraceDBProvider,
23103 (
"Could not find HANDLE %x in list\n"));
23106 DBROWSTATUS_E_INVALID;
23122 DBPENDINGSTATUS_UNCHANGED
23128 DBPENDINGSTATUS_INVALIDROW
23150 DBROWSTATUS_E_INVALID;
23179 DBPROP_IRowsetUpdate,
23200 DBPENDINGSTATUS_DELETED)
23213 DBROWSTATUS_E_DELETED;
23235 DBPENDINGSTATUS_UNCHANGED
23246 DBPENDINGSTATUS_INVALIDROW)
23266 DBROWSTATUS_S_PENDINGCHANGES;
23281 Fire_OnRowsetChange)
23297 _ATLDELETEEXCEPTION
23324 DBPROP_REMOVEDELETED,
23340 RemoveKey ((RowClass::KeyType) hRowCur);
23374 Fire_OnRowsetChange)
23397 DBREASON_ROW_RELEASE,
23398 DBEVENTPHASE_DIDEVENT,
23412 (atlTraceDBProvider,
23415 (
"IRowsetImpl::RefRows Unexpected state\n"));
23429 DB_S_ERRORSOCCURRED;
23436 DB_E_ERRORSOCCURRED;
23460 (atlTraceDBProvider,
23463 (
"IRowsetImpl::AddRefRows\n"));
23568 DB_E_BADACCESSORHANDLE;
23621 Lookup ((INT_PTR) hRow, pRow))
23622 return DB_E_BADROWHANDLE;
23625 return DB_E_BADROWHANDLE;
23627 return TransferData < T, RowClass, MapClass >
23628 (pT,
true, pDstData, pRow, &(pT->m_rgRowHandles), hAccessor);
23692 _ATLDELETEEXCEPTION
23742 (atlTraceDBProvider,
23745 (
"IRowsetImpl::GetNextRows\n"));
23838 DB_E_CANTSCROLLBACKWARDS;
23845 DB_E_CANTFETCHBACKWARDS;
23874 if (cRows == MINLONG_PTR && cRowsInSet != MINLONG_PTR)
23875 cRows = cRowsInSet + 2;
23976 DBPENDINGSTATUS_DELETED)
24008 DBROWOFFSET nRowsToSkip = lRowsOffset;
24009 if (nRowsToSkip == MINLONG_PTR && cRowsInSet != MINLONG_PTR)
24010 nRowsToSkip = cRowsInSet + 2;
24058 DBPENDINGSTATUS_DELETED)
24081 nFetchStartPosition
24129 DBPENDINGSTATUS_DELETED)
24190 DBPENDINGSTATUS_DELETED)
24249 Fire_OnRowsetChange)
24269 (!m_bExternalFetch)
24276 Fire_OnRowsetChange
24279 DBREASON_ROWSET_FETCHPOSITIONCHANGE,
24280 DBEVENTPHASE_OKTODO,
24296 Fire_OnRowsetChange
24298 DBREASON_ROWSET_FETCHPOSITIONCHANGE,
24300 DBEVENTPHASE_ABOUTTODO,
24316 Fire_OnRowsetChange
24318 DBREASON_ROWSET_FETCHPOSITIONCHANGE,
24320 DBEVENTPHASE_SYNCHAFTER,
24339 nCurrentRow = nFetchStartPosition;
24413 if ((iStepSize == 1 && nCurrentRow == cRowsInSet) ||
24414 (iStepSize == -1 && nCurrentRow == 0))
24417 DBROWOFFSET lRow = nCurrentRow;
24447 DBPENDINGSTATUS_DELETED)
24498 DBPENDINGSTATUS_DELETED)
24561 Fire_OnRowsetChange)
24566 (!m_bExternalFetch)
24569 Fire_OnRowsetChange
24571 DBREASON_ROWSET_FETCHPOSITIONCHANGE,
24573 DBEVENTPHASE_DIDEVENT,
24588 nCurrentRow = lRow;
24609 Fire_OnRowsetChange)
24662 Lookup ((*prghRows)[ulActivated], pActiveRow) &&
24663 (pActiveRow !=
NULL && pActiveRow->m_dwRef == 1))
24670 Add ((*prghRows)[ulActivated]);
24677 _ATLDELETEEXCEPTION
24704 DBREASON_ROW_ACTIVATE,
24705 DBEVENTPHASE_DIDEVENT,
24714 m_iRowset = nCurrentRow;
24715 if (*pcRowsObtained < (DBCOUNTITEM) cRows)
24766 GetNextRowsSkipDeleted
24779 (atlTraceDBProvider,
24782 (
"IRowsetImpl::GetNextRows\n"));
24875 DB_E_CANTSCROLLBACKWARDS;
24882 DB_E_CANTFETCHBACKWARDS;
24915 if (((lRowsOffset == MINLONG_PTR) && (cRowsInSet != MINLONG_PTR))
24916 ||
AbsVal (lRowsOffset) > cRowsInSet ||
24917 (
AbsVal (lRowsOffset) == cRowsInSet && lRowsOffset < 0 && cRows < 0) ||
24918 (
AbsVal (lRowsOffset) == cRowsInSet && lRowsOffset > 0 && cRows > 0))
24919 return DB_S_ENDOFROWSET;
24943 ((m_iRowset + lRowsOffset) > cRowsInSet) ||
24944 (m_iRowset == cRowsInSet && lRowsOffset >= 0 && cRows > 0))
24945 return DB_S_ENDOFROWSET;
24963 Fire_OnRowsetChange)
24983 (!m_bExternalFetch)
24990 Fire_OnRowsetChange
24993 DBREASON_ROWSET_FETCHPOSITIONCHANGE,
24994 DBEVENTPHASE_OKTODO,
25010 Fire_OnRowsetChange
25012 DBREASON_ROWSET_FETCHPOSITIONCHANGE,
25014 DBEVENTPHASE_ABOUTTODO,
25030 Fire_OnRowsetChange
25032 DBREASON_ROWSET_FETCHPOSITIONCHANGE,
25034 DBEVENTPHASE_SYNCHAFTER,
25085 if (cRows == MINLONG_PTR && cRowsInSet != MINLONG_PTR)
25086 cRows = cRowsInSet + 2;
25180 while ((lRowsOffset >= 0 && cRows != 0) &&
25181 ((lRowsOffset < cRowsInSet) || (lRowsOffset <= cRowsInSet && iStepSize < 0)))
25214 if ((lRowsOffset == 0) && (lTmpRows == 0) && (iStepSize < 0))
25220 hr = pT->CreateRow (lRow, *pcRowsObtained, *prghRows);
25252 Fire_OnRowsetChange)
25257 (!m_bExternalFetch)
25260 Fire_OnRowsetChange
25262 DBREASON_ROWSET_FETCHPOSITIONCHANGE,
25264 DBEVENTPHASE_DIDEVENT,
25295 Fire_OnRowsetChange)
25348 Lookup ((*prghRows)[ulActivated], pActiveRow) &&
25349 (pActiveRow !=
NULL && pActiveRow->m_dwRef == 1))
25356 Add ((*prghRows)[ulActivated]);
25363 _ATLDELETEEXCEPTION
25390 DBREASON_ROW_ACTIVATE,
25391 DBEVENTPHASE_DIDEVENT,
25403 if ((lRowsOffset >= cRowsInSet && cRows) || (lRowsOffset < 0 && cRows) ||
25404 (lRowsOffset == 0 && cRows > 0 && iStepSize < 0))
25405 hr = DB_S_ENDOFROWSET;
25407 if (SUCCEEDED (hr))
25408 rghRowsAllocated.Detach ();
25435 (atlTraceDBProvider,
25438 (
"IRowsetImpl::ReleaseRows\n"));
25491 STDMETHOD (RestartPosition) (HCHAPTER
25497 (atlTraceDBProvider,
25500 (
"IRowsetImpl::RestartPosition\n"));
25509 Fire_OnRowsetChange)
25562 Fire_OnRowsetChange
25565 DBREASON_ROWSET_FETCHPOSITIONCHANGE,
25566 DBEVENTPHASE_OKTODO,
25582 Fire_OnRowsetChange
25584 DBREASON_ROWSET_FETCHPOSITIONCHANGE,
25586 DBEVENTPHASE_ABOUTTODO,
25602 Fire_OnRowsetChange
25604 DBREASON_ROWSET_FETCHPOSITIONCHANGE,
25606 DBEVENTPHASE_SYNCHAFTER,
25642 DBPROP_CANHOLDROWS,
25709 DBPENDINGSTATUS_UNCHANGED)
25715 Fire_OnRowsetChange)
25725 Fire_OnRowsetChange
25727 DBREASON_ROWSET_FETCHPOSITIONCHANGE,
25729 DBEVENTPHASE_FAILEDTODO,
25737 DB_E_ROWSNOTRELEASED;
25756 Fire_OnRowsetChange)
25769 Fire_OnRowsetChange
25771 DBREASON_ROWSET_FETCHPOSITIONCHANGE,
25773 DBEVENTPHASE_DIDEVENT,
25781 MapClass m_rgRowHandles;
25782 DBROWOFFSET m_iRowset;
25783 unsigned m_bCanScrollBack: 1;
25784 unsigned m_bCanFetchBack: 1;
25785 unsigned m_bRemoveDeleted: 1;
25786 unsigned m_bIRowsetUpdate: 1;
25787 unsigned m_bReset: 1;
25788 unsigned m_bExternalFetch: 1;
25792 template <
class T,
class RowsetInterface,
25794 class MapClass = CAtlMap < RowClass::KeyType, RowClass * >,
25795 class BookmarkKeyType =
LONG,
class BookmarkType =
LONG,
25796 class BookmarkMapClass = CAtlMap < RowClass::KeyType, RowClass * >>
25830 (atlTraceDBProvider,
25833 (
"IRowsetLocateImpl::Compare\n"));
25926 if ((*pBookmark1 == *pBookmark2) && (cbBookmark1 != 1) && (cbBookmark2 != 1))
25952 DBPROP_ORDEREDBOOKMARKS,
25957 if ((*pBookmark1 == DBBMK_FIRST && cbBookmark1 == 1) ||
25958 (*pBookmark1 == DBBMK_LAST && cbBookmark1 == 1) ||
25959 (*pBookmark2 == DBBMK_FIRST && cbBookmark2 == 1) ||
25960 (*pBookmark2 == DBBMK_LAST && cbBookmark2 == 1) ||
25961 (FAILED (hrProps)) ||
26057 STDMETHOD (GetRowsAt) (HWATCHREGION
26084 (atlTraceDBProvider,
26087 (
"IRowsetLocateImpl::GetRowsAt\n"));
26216 if (lRowsOffset < 0 && !m_bCanScrollBack)
26217 return DB_E_CANTSCROLLBACKWARDS;
26273 if ((cbBookmark == 1) && (*pBookmark == DBBMK_FIRST))
26276 if ((cbBookmark == 1) && (*pBookmark == DBBMK_LAST))
26277 m_iRowset = (DBROWOFFSET) pT->m_rgRowData.GetCount ();
26379 Fire_OnRowsetChange)
26432 Lookup ((*prghRows)[ulActivated], pActiveRow);
26433 if (bFound && pActiveRow !=
NULL && pActiveRow->m_dwRef == 1)
26440 Add ((*prghRows)[ulActivated]);
26447 _ATLDELETEEXCEPTION
26474 DBREASON_ROW_ACTIVATE,
26475 DBEVENTPHASE_DIDEVENT,
26491 STDMETHOD (GetRowsByBookmark) (HCHAPTER
26520 (atlTraceDBProvider,
26523 (
"IRowsetLocateImpl::GetRowsByBookmark\n"));
26567 T::ObjectLock cab (pT);
26568 if (rgcbBookmarks ==
NULL || rgpBookmarks ==
NULL || rghRows ==
NULL)
26569 return E_INVALIDARG;
26649 DBROWSTATUS_E_INVALID;
26665 DBROWCOUNT lBookmarkIndex = *(DBROWCOUNT *) pBookmark;
26666 if (m_rgBookmarks[lBookmarkIndex] == -1)
26679 DBROWSTATUS_E_INVALID;
26745 Fire_OnRowsetChange)
26825 _ATLDELETEEXCEPTION
26852 DBREASON_ROW_ACTIVATE,
26853 DBEVENTPHASE_DIDEVENT,
26865 DB_S_ERRORSOCCURRED
26867 DB_E_ERRORSOCCURRED;
26875 STDMETHOD (Hash) (HCHAPTER
26901 (atlTraceDBProvider,
26904 (
"IRowsetLocateImpl::Hash\n"));
27019 DBROWSTATUS_E_INVALID;
27055 DB_S_ERRORSOCCURRED
27057 DB_E_ERRORSOCCURRED;
27109 if ((cbBookmark !=
sizeof (DBBKMARK)) && (cbBookmark != 1))
27113 (atlTraceDBProvider,
27116 (
"Bookmarks are invalid length, should be DBBKMARKs"));
27137 if ((cbBookmark == 1) && (*pBookmark != DBBMK_FIRST && *pBookmark != DBBMK_LAST))
27141 (atlTraceDBProvider,
27144 (
"Bookmark is invalid"));
27188 (atlTraceDBProvider,
27191 (
"IRowsetLocateImpl::Bookmark has invalid range"));
27207 template <
class T,
class RowClass = CSimpleRow >
27223 (atlTraceDBProvider,
27226 (
"IRowsetIdentityImpl::IsSameRow\n"));
27239 Lookup ((RowClass::KeyType) hThisRow, pRow1))
27240 return DB_E_BADROWHANDLE;
27243 if (!pT->m_rgRowHandles.Lookup ((RowClass::KeyType) hThatRow, pRow2))
27244 return DB_E_BADROWHANDLE;
27246 if (pRow1->m_status == DBPENDINGSTATUS_DELETED ||
27247 pRow2->m_status == DBPENDINGSTATUS_DELETED)
27248 return DB_E_DELETEDROW;
27250 HRESULT hr = pRow1->Compare (pRow2);
27251 __if_not_exists (T::InsertRow)
27314 template <
class T >
27316 IInternalConnection
27340 (ReleaseConnection)
27360 template <
class T >
27362 IInternalConnection
27386 (ReleaseConnection)
27406 template <
class T >
27408 IObjectWithSiteImpl
27418 IInternalConnection
27430 (IInternalConnection),
27462 IInternalConnection
27474 (IInternalConnection),
27497 template <
class T >
27499 IObjectWithSiteImpl
27509 IInternalConnection
27521 (IInternalConnection),
27564 DBPROP_CANSCROLLBACKWARDS,
27581 DBPROP_CANFETCHBACKWARDS,
27598 DBPROP_REMOVEDELETED,
27615 DBPROP_IRowsetUpdate,
27629 IInternalConnection
27641 (IInternalConnection),
27665 template <
class T,
class PropClass = T >
27682 pcElemPerSupported,
27695 pcElemPerSupported,
27719 (atlTraceDBProvider,
27722 (
"IRowsetInfoImpl::GetProperties\n"));
27766 ULONG ulPropSets = 0;
27767 ULONG ulPropElems = 0;
27768 ULONG ulPropInits = 0;
27769 UPROPSET * pSetA =
NULL;
27770 UPROPSET * pSetTemp =
NULL;
27772 ULONG cSets = (ULONG) (ULONG_PTR) pT->_GetPropSet (
NULL, &ulPropElems);
27774 CTempBuffer < UPROPSET > tmpBuffer;
27775 pSetA = tmpBuffer.Allocate (cSets);
27871 InternalGetColumnInfo
27884 (GetReferencedRowset)
27891 ppReferencedRowset)
27896 (atlTraceDBProvider,
27899 (
"IRowsetInfoImpl::GetReferencedRowset\n"));
27907 (ppReferencedRowset
27912 (atlTraceDBProvider,
27915 (
"IRowsetInfoImpl::GetReferencedRowset : Error NULL IUnk output Param\n"));
27922 *ppReferencedRowset
27933 InternalGetColumnInfo
27965 if ((pColCur->dwFlags & DBCOLUMNFLAGS_ISBOOKMARK) == 0)
27966 return DB_E_NOTAREFERENCECOLUMN;
27975 ppReferencedRowset);
27990 (atlTraceDBProvider,
27993 (
"IRowsetInfoImpl::GetSpecification\n"));
28026 template <
class Storage,
class ContainedArray = CAtlArray < Storage > >
28027 class CUpdateArray:
public 28192 m_lInterlockedVariable
28204 InterlockedIncrement
28205 (&m_lInterlockedVariable);
28235 ::InterlockedDecrement (&m_lInterlockedVariable);
28238 long m_lInterlockedVariable;
28242 template <
class T,
class ReentrantEventSync = CComSharedMutex >
28244 IConnectionPointImpl
28248 CComDynamicUnkArray
28276 ATLTRACE (atlTraceDBProvider, 2, _T (
"IRowsetNotifyCP::Fire_OnFieldChange\n"));
28309 nConnectionIndex++)
28320 (nConnectionIndex);
28354 case DBEVENTPHASE_OKTODO:
28424 DBEVENTPHASE_FAILEDTODO,
28452 case DBEVENTPHASE_ABOUTTODO:
28454 case DBEVENTPHASE_SYNCHAFTER:
28471 DBEVENTPHASE_FAILEDTODO,
28491 case DBEVENTPHASE_FAILEDTODO:
28493 case DBEVENTPHASE_DIDEVENT:
28500 (atlTraceDBProvider,
28503 (
"IRowsetNotifyCP::Fire_OnFieldChange: Unknown Phase requested\n"));
28549 ATLTRACE (atlTraceDBProvider, 2, _T (
"IRowsetNotifyCP::Fire_OnRowChange\n"));
28580 nConnectionIndex++)
28591 (nConnectionIndex);
28626 case DBEVENTPHASE_OKTODO:
28695 DBEVENTPHASE_FAILEDTODO,
28714 case DBEVENTPHASE_SYNCHAFTER:
28716 case DBEVENTPHASE_ABOUTTODO:
28732 DBEVENTPHASE_FAILEDTODO,
28743 case DBEVENTPHASE_FAILEDTODO:
28745 case DBEVENTPHASE_DIDEVENT:
28752 (atlTraceDBProvider,
28755 (
"IRowsetNotifyCP::Fire_OnRowChange: Unknown Phase requested\n"));
28797 ATLTRACE (atlTraceDBProvider, 2, _T (
"IRowsetNotifyCP::Fire_OnRowsetChange\n"));
28828 nConnectionIndex++)
28839 (nConnectionIndex);
28869 case DBEVENTPHASE_OKTODO:
28936 DBEVENTPHASE_FAILEDTODO,
28956 case DBEVENTPHASE_ABOUTTODO:
28958 case DBEVENTPHASE_SYNCHAFTER:
28971 DBEVENTPHASE_FAILEDTODO,
28983 case DBEVENTPHASE_FAILEDTODO:
28985 case DBEVENTPHASE_DIDEVENT:
28992 (atlTraceDBProvider,
28995 (
"IRowsetNotifyCP::Fire_OnRowChange: Unknown Phase requested\n"));
29028 template <
class T,
class Storage,
29029 class ArrayType = CAtlArray < Storage >,
29241 if ((pTableID->eKind == DBKIND_GUID_NAME ||
29244 &&pTableID->uName.pwszName ==
NULL)
29245 return DB_E_NOTABLE;
29326 template <
class T,
class Storage,
class CreatorClass,
29327 class ArrayType = CAtlArray < Storage >,
29379 COM_INTERFACE_ENTRY
29382 COM_INTERFACE_ENTRY
29384 COM_INTERFACE_ENTRY
29387 COM_INTERFACE_ENTRY
29390 COM_INTERFACE_ENTRY
29393 COM_INTERFACE_ENTRY
29396 COM_INTERFACE_ENTRY
29440 Fire_OnRowsetChange)
29444 T * pT = (T *)
this;
29445 pT->Fire_OnRowsetChange (pT, DBREASON_ROWSET_RELEASE, DBEVENTPHASE_DIDEVENT,
TRUE);
29451 template <
class T,
class Storage,
class CreatorClass,
29452 class ArrayType = CAtlArray < Storage >,
29502 COM_INTERFACE_ENTRY
29505 COM_INTERFACE_ENTRY
29507 COM_INTERFACE_ENTRY
29510 COM_INTERFACE_ENTRY
29513 COM_INTERFACE_ENTRY
29516 COM_INTERFACE_ENTRY
29519 COM_INTERFACE_ENTRY
29557 Fire_OnRowsetChange)
29565 Fire_OnRowsetChange
29567 DBREASON_ROWSET_RELEASE,
29568 DBEVENTPHASE_DIDEVENT,
29662 (
"Provider PROGID"));
29667 (
"Error Description"));
29697 (CLSID_EXTENDEDERRORINFO);
29713 &spIErrorRecords));
29715 if (SUCCEEDED (hr))
29722 (&errorinfo, 0,
NULL,
29723 &spICrtErrInfo, 0);
29732 if (spIErrorInfo !=
29757 template <
class T,
class RecordClass = ATLERRORINFO >
29776 (atlTraceDBProvider,
29779 (
"IErrorRecordsImpl::AddErrorRecord\n"));
29816 _ATLDELETEEXCEPTION
29830 (ULONG ulRecordNum,
29836 (atlTraceDBProvider,
29839 (
"IErrorRecordsImpl::GetBasicErrorInfo\n"));
29865 (ULONG ulRecordNum,
29872 (atlTraceDBProvider,
29875 (
"IErrorRecordsImpl::GetCustomErrorObject\n"));
29891 IUnknown > spUnkCust;
29899 QueryInterface (riid,
29919 (atlTraceDBProvider,
29922 (
"IErrorRecordsImpl::GetErrorInfo\n"));
29952 ERRORINFO & rInfo =
29957 T * pT = (T *)
this;
29960 SetDescription (pT->
29970 SetHelpContext (pT->
29984 return spErrorInfo->
29996 (ULONG ulRecordNum,
30002 (atlTraceDBProvider,
30005 (
"IErrorRecordsImpl::AddErrorRecord\n"));
30031 (ULONG * pcRecords)
30035 (atlTraceDBProvider,
30038 (
"IErrorRecordsImpl::GetErrorParameters\n"));
30060 (
"The Error Description String");
30090 (
"The Error Help File");
30174 (
"TABLE_CATALOG", 1,
30177 (
"TABLE_SCHEMA", 2,
30193 (
"TABLE_PROPID", 7,
30197 (
"DATE_CREATED", 8,
30202 (
"DATE_MODIFIED", 9,
30408 (
"TABLE_CATALOG", 1,
30411 (
"TABLE_SCHEMA", 2,
30424 (
"COLUMN_PROPID", 6,
30428 (
"ORDINAL_POSITION",
30433 (
"COLUMN_HASDEFAULT",
30439 (
"COLUMN_DEFAULT", 9,
30443 (
"COLUMN_FLAGS", 10,
30447 (
"IS_NULLABLE", 11,
30453 DBTYPE_UI2, 5, 0xFF,
30460 (
"CHARACTER_MAXIMUM_LENGTH",
30464 (
"CHARACTER_OCTET_LENGTH",
30469 (
"NUMERIC_PRECISION",
30474 (
"NUMERIC_SCALE", 17,
30478 (
"DATETIME_PRECISION",
30483 (
"CHARACTER_SET_CATALOG",
30488 (
"CHARACTER_SET_SCHEMA",
30492 (
"CHARACTER_SET_NAME",
30496 (
"COLLATION_CATALOG",
30501 (
"COLLATION_SCHEMA",
30514 (
"DOMAIN_SCHEMA", 26,
30517 (
"DOMAIN_NAME", 27,
30520 (
"DESCRIPTION", 28,
30532 (ArrayClass & rgData,
30535 IUnknown * pSession,
30545 if (spOpenRowset ==
30569 LPOLESTR szColumns =
30572 ULONG cColumns = 0;
30587 *pcRowsAffected = 0;
30589 for (ULONG iCol = 0;
30629 (rColCur.columnid);
30644 (rColCur.columnid);
30647 m_ulOrdinalPosition =
30658 DBCOLUMNFLAGS_ISNULLABLE)
30666 m_ulCharMaxLength =
30667 rColCur.ulColumnSize;
30670 m_nNumericPrecision =
30671 rColCur.bPrecision;
30687 rgData.Add (crData);
30693 _ATLDELETEEXCEPTION
30707 (*pcRowsAffected)++;
30728 WCHAR m_szName[129];
30754 m_bUnsignedAttribute;
30760 m_bAutoUniqueValue;
30793 m_szName[0] =
NULL;
30805 m_szCreateParams[0]
30817 m_bUnsignedAttribute
30820 m_bFixedPrecScale =
30823 m_bAutoUniqueValue =
30826 m_szLocalTypeName[0]
30860 DBTYPE_UI2, 5, 0xFF,
30867 (
"LITERAL_PREFIX", 4,
30870 (
"LITERAL_SUFFIX", 5,
30873 (
"CREATE_PARAMS", 6,
30881 (
"CASE_SENSITIVE", 8,
30886 (
"SEARCHABLE", 9, 10,
30890 (
"UNSIGNED_ATTRIBUTE",
30893 m_bUnsignedAttribute)
30896 (
"FIXED_PREC_SCALE",
30901 (
"AUTO_UNIQUE_VALUE",
30904 m_bAutoUniqueValue)
30907 (
"LOCAL_TYPE_NAME",
30911 (
"MINIMUM_SCALE", 14,
30915 (
"MAXIMUM_SCALE", 15,
30956 m_szSourcesName[256];
30959 m_szSourcesParseName
30963 m_szSourcesDescription
30976 (
"SOURCES_NAME", 1,
30979 (
"SOURCES_PARSENAME",
30981 m_szSourcesParseName)
30984 (
"SOURCES_DESCRIPTION",
30986 m_szSourcesDescription)
30989 (
"SOURCES_TYPE", 4,
30992 (
"SOURCES_ISPARENT",
31004 template <
class T,
class Storage,
31005 class UpdateArray = CAtlArray < Storage >,
31007 class MapClass = CAtlMap < RowClass::KeyType, RowClass * >>
31034 T * pT = (T *)
this;
31038 Fire_OnFieldChange)
31099 DBPROP_IRowsetUpdate,
31132 if (
pRow->m_status ==
31133 DBPENDINGSTATUS_DELETED)
31149 DBPENDINGSTATUS_CHANGED
31153 (DBPENDINGSTATUS_NEW
31155 DBPENDINGSTATUS_UNCHANGED))
31161 Fire_OnRowChange (pT,
31165 DBREASON_ROW_FIRSTCHANGE,
31166 DBEVENTPHASE_OKTODO,
31173 return DB_E_CANCELED;
31178 Fire_OnRowChange (pT,
31182 DBREASON_ROW_FIRSTCHANGE,
31183 DBEVENTPHASE_ABOUTTODO,
31190 return DB_E_CANCELED;
31206 if (
pRow->m_status !=
31207 DBPENDINGSTATUS_NEW)
31257 _ATLDELETEEXCEPTION
31302 if (hrFlush ==
S_OK)
31324 DBPENDINGSTATUS_CHANGED
31328 (DBPENDINGSTATUS_NEW
31330 DBPENDINGSTATUS_UNCHANGED))
31335 Fire_OnRowChange (pT,
31339 DBREASON_ROW_FIRSTCHANGE,
31340 DBEVENTPHASE_DIDEVENT,
31348 if (
pRow->m_status != DBPENDINGSTATUS_NEW)
31349 pRow->m_status = DBPENDINGSTATUS_CHANGED;
31371 (atlTraceDBProvider,
31374 (
"IRowsetUpdateImpl::GetOriginalData\n"));
31419 DB_E_BADACCESSORHANDLE;
31458 if (
pRow->m_status ==
31459 DBPENDINGSTATUS_INVALIDROW)
31484 DBPENDINGSTATUS_NEW)
31497 DBORDINAL ulColumns;
31511 T::GetColumnInfo (pT,
31549 &(pInfo[lColInfo]);
31552 DBSTATUS_S_DEFAULT;
31570 DBCOLUMNFLAGS_ISNULLABLE)
31599 bSucceeded |=
true;
31616 DBSTATUS_E_UNAVAILABLE;
31639 bSucceeded |=
true;
31671 return (bSucceeded ?
31672 DB_S_ERRORSOCCURRED
31674 DB_E_ERRORSOCCURRED);
31700 Lookup (
hRow, pam);
31740 if (
pRow->m_status ==
31741 DBPENDINGSTATUS_DELETED)
31744 DBPENDINGSTATUS_UNCHANGED;
31777 DBPENDINGSTATUS_UNCHANGED;
31803 (atlTraceDBProvider,
31806 (
"IRowsetUpdateImpl::GetPendingRows\n"));
31808 T * pT = (T *)
this;
31819 if (pcPendingRows !=
31823 *pcPendingRows = 0;
31834 (prgPendingStatus !=
31836 *prgPendingStatus =
31846 (DBPENDINGSTATUS_NEW
31848 DBPENDINGSTATUS_CHANGED
31850 DBPENDINGSTATUS_DELETED))
31861 (DBPENDINGSTATUS_NEW
31863 DBPENDINGSTATUS_CHANGED
31865 DBPENDINGSTATUS_DELETED))
31876 pT->m_rgRowHandles.
31877 GetStartPosition ();
31885 pT->m_rgRowHandles.
31888 ATLASSERT (pPair !=
31903 if (pcPendingRows !=
31905 (*pcPendingRows)++;
31960 if (pcPendingRows ==
31969 if (prgPendingRows !=
31979 if (*prgPendingRows
31983 *pcPendingRows = 0;
31993 (prgPendingStatus !=
31997 *prgPendingStatus =
31998 (DBPENDINGSTATUS *)
32002 (DBPENDINGSTATUS));
32005 (*prgPendingStatus ==
32009 *pcPendingRows = 0;
32022 (*prgPendingStatus,
32026 (DBPENDINGSTATUS));
32040 pT->m_rgRowHandles.
32041 GetStartPosition ();
32049 pT->m_rgRowHandles.
32052 ATLASSERT (pPair !=
32066 pRow->AddRefRow ();
32067 if (prgPendingRows)
32068 ((*prgPendingRows)[ulRows]) =
32070 if (prgPendingStatus)
32072 ((*prgPendingStatus)
32105 if (pcPendingRows !=
32135 (atlTraceDBProvider,
32138 (
"IRowsetUpdateImpl::GetRowStatus\n"));
32140 T * pT = (T *)
this;
32146 ULONG ulFetched = 0;
32154 if (rghRows ==
NULL 32163 for (ULONG ulRows =
32173 pT->m_rgRowHandles.
32183 DBPENDINGSTATUS_INVALIDROW))
32189 DBPENDINGSTATUS_INVALIDROW;
32191 bSucceeded =
false;
32206 DBPENDINGSTATUS_UNCHANGED;
32228 DB_S_ERRORSOCCURRED;
32233 DB_E_ERRORSOCCURRED;
32264 (atlTraceDBProvider,
32267 (
"IRowsetUpdateImpl::Undo\n"));
32274 ObjectLock lock (pT);
32300 if (pcRowsUndone !=
32302 *pcRowsUndone =
NULL;
32327 ULONG ulUndone = 0;
32394 if (pcRowsUndone !=
32399 if (prgRowsUndone !=
32405 if (prgRowStatus !=
32407 *prgRowStatus =
NULL;
32427 if (pcRowsUndone !=
32434 if (prgRowsUndone ==
32463 if (prgRowsUndone !=
32509 if (prgRowsUndone !=
32518 if (prgRowStatus !=
32571 if (prgRowStatus !=
32575 *prgRowStatus =
NULL;
32581 pT->m_rgRowHandles.
32582 GetStartPosition ();
32587 for (ULONG ulUndoRow
32597 ULONG ulCurrentRow =
32601 if (rghRows !=
NULL 32607 rghRows[ulUndoRow];
32615 ATLASSERT (ulUndoRow
32628 pT->m_rgRowHandles.
32631 ATLASSERT (pPair !=
32652 pT->m_rgRowHandles.
32661 if (prgRowStatus !=
32667 DBROWSTATUS_E_INVALID;
32694 DBPENDINGSTATUS_UNCHANGED
32698 DBPENDINGSTATUS_INVALIDROW))
32734 case DBPENDINGSTATUS_INVALIDROW:
32735 if (prgRowStatus !=
NULL && bIgnore ==
false)
32736 (*prgRowStatus)[ulCurrentRow] = DBROWSTATUS_E_DELETED;
32741 case DBPENDINGSTATUS_NEW:
32761 Fire_OnRowChange (pT,
32765 DBREASON_ROW_UNDOINSERT,
32766 DBEVENTPHASE_OKTODO,
32776 if (prgRowStatus !=
32782 DBROWSTATUS_E_CANCELED;
32792 Fire_OnRowChange (pT,
32796 DBREASON_ROW_UNDOINSERT,
32797 DBEVENTPHASE_ABOUTTODO,
32807 if (prgRowStatus !=
32813 DBROWSTATUS_E_CANCELED;
32823 Fire_OnRowChange (pT,
32827 DBREASON_ROW_UNDOINSERT,
32828 DBEVENTPHASE_SYNCHAFTER,
32838 if (prgRowStatus !=
32844 DBROWSTATUS_E_CANCELED;
32854 if (prgRowStatus !=
32875 pT->m_rgRowHandles.
32876 GetStartPosition ();
32884 pT->m_rgRowHandles.
32887 ATLASSERT (pPair !=
32909 DBPENDINGSTATUS_INVALIDROW;
32920 Fire_OnRowChange (pT,
32923 DBREASON_ROW_UNDOINSERT,
32925 DBEVENTPHASE_DIDEVENT,
32935 case DBPENDINGSTATUS_DELETED:
32936 case DBPENDINGSTATUS_UNCHANGED:
32944 DBPENDINGSTATUS_DELETED)
32952 Fire_OnRowChange (pT,
32956 DBREASON_ROW_UNDODELETE,
32957 DBEVENTPHASE_OKTODO,
32967 if (prgRowStatus !=
32973 DBROWSTATUS_E_CANCELED;
32983 Fire_OnRowChange (pT,
32987 DBREASON_ROW_UNDODELETE,
32988 DBEVENTPHASE_ABOUTTODO,
32998 if (prgRowStatus !=
33004 DBROWSTATUS_E_CANCELED;
33014 Fire_OnRowChange (pT,
33018 DBREASON_ROW_UNDODELETE,
33019 DBEVENTPHASE_SYNCHAFTER,
33029 if (prgRowStatus !=
33035 DBROWSTATUS_E_CANCELED;
33048 DBPENDINGSTATUS_UNCHANGED;
33051 if (prgRowStatus !=
33085 Fire_OnRowChange (pT,
33088 DBREASON_ROW_UNDODELETE,
33090 DBEVENTPHASE_DIDEVENT,
33109 Fire_OnRowChange (pT,
33113 DBREASON_ROW_UNDOCHANGE,
33114 DBEVENTPHASE_OKTODO,
33124 if (prgRowStatus !=
33130 DBROWSTATUS_E_CANCELED;
33140 Fire_OnRowChange (pT,
33144 DBREASON_ROW_UNDOCHANGE,
33145 DBEVENTPHASE_ABOUTTODO,
33155 if (prgRowStatus !=
33161 DBROWSTATUS_E_CANCELED;
33171 Fire_OnRowChange (pT,
33175 DBREASON_ROW_UNDOCHANGE,
33176 DBEVENTPHASE_SYNCHAFTER,
33186 if (prgRowStatus !=
33192 DBROWSTATUS_E_CANCELED;
33212 Fire_OnRowChange (pT,
33215 DBREASON_ROW_UNDOCHANGE,
33217 DBEVENTPHASE_FAILEDTODO,
33223 if (prgRowStatus !=
33229 DBROWSTATUS_E_INVALID;
33246 if (prgRowStatus !=
33255 DBPENDINGSTATUS_UNCHANGED;
33263 RemoveKey (hRowUndo);
33275 if (
pRow->m_dwRef ==
33279 pRow->AddRefRow ();
33303 Fire_OnRowChange (pT,
33306 DBREASON_ROW_UNDOCHANGE,
33308 DBEVENTPHASE_DIDEVENT,
33383 memcpy (prowTemp, *prgRowsUndone, (
sizeof (HROW) * ulUndone));
33385 CoTaskMemFree (*prgRowsUndone);
33399 if (prgRowsUndone !=
33408 if (prgRowStatus !=
33435 if (prgRowStatus !=
33448 memcpy (prowStatus,
33468 if (prgRowStatus !=
33472 *prgRowStatus =
NULL;
33489 DB_E_ERRORSOCCURRED;
33494 DB_S_ERRORSOCCURRED;
33525 (atlTraceDBProvider,
33528 (
"IRowsetUpdateImpl::Update\n"));
33535 ObjectLock lock (pT);
33642 if (prgRowStatus !=
33644 *prgRowStatus =
NULL;
33691 if (prgRows !=
NULL 33731 if (prgRows !=
NULL 33738 if (prgRowStatus !=
33790 if (prgRowStatus !=
33794 *prgRowStatus =
NULL;
33810 pT->m_rgRowHandles.
33811 GetStartPosition ();
33820 void *pData =
NULL;
33826 ulAlreadyProcessed =
33832 LONG ulCurrentRow =
33865 ulAlreadyProcessed =
33893 pT->m_rgRowHandles.
33896 ATLASSERT (pPair !=
33904 if (prgRows !=
NULL 33933 if (prgRowStatus !=
33940 [ulAlreadyProcessed];
33950 pT->m_rgRowHandles.
33951 Lookup (hRowUpdate,
33959 if (prgRowStatus !=
33965 DBROWSTATUS_E_INVALID;
33981 if (
pRow->m_status !=
33986 DBPENDINGSTATUS_UNCHANGED)
33998 Fire_OnRowChange (pT,
34001 DBREASON_ROW_UPDATE,
34003 DBEVENTPHASE_OKTODO,
34012 if (prgRowStatus !=
34018 DBROWSTATUS_E_CANCELED;
34028 Fire_OnRowChange (pT,
34031 DBREASON_ROW_UPDATE,
34033 DBEVENTPHASE_ABOUTTODO,
34042 if (prgRowStatus !=
34048 DBROWSTATUS_E_CANCELED;
34058 Fire_OnRowChange (pT,
34064 DBREASON_ROW_UPDATE,
34066 DBEVENTPHASE_SYNCHAFTER,
34076 if (prgRowStatus !=
34082 DBROWSTATUS_E_CANCELED;
34111 DBPENDINGSTATUS_UNCHANGED
34115 DBPENDINGSTATUS_INVALIDROW))
34129 case DBPENDINGSTATUS_INVALIDROW:
34136 Fire_OnRowChange (pT,
34142 DBREASON_ROW_UPDATE,
34144 DBEVENTPHASE_FAILEDTODO,
34149 if (prgRowStatus !=
NULL && bIgnore ==
false)
34150 (*prgRowStatus)[ulCurrentRow] = DBROWSTATUS_E_DELETED;
34155 case DBPENDINGSTATUS_UNCHANGED:
34181 if (prgRowStatus !=
NULL && bIgnore ==
false)
34182 (*prgRowStatus)[ulCurrentRow] = DBROWSTATUS_S_OK;
34205 Fire_OnRowChange (pT,
34211 DBREASON_ROW_UPDATE,
34213 DBEVENTPHASE_FAILEDTODO,
34218 if (prgRowStatus !=
34224 DBROWSTATUS_E_INVALID;
34270 Fire_OnRowChange (pT,
34276 DBREASON_ROW_UPDATE,
34278 DBEVENTPHASE_FAILEDTODO,
34283 if (prgRowStatus !=
34299 DBPENDINGSTATUS_DELETED)
34312 pT->m_rgRowHandles.
34313 GetStartPosition ();
34321 pT->m_rgRowHandles.
34324 ATLASSERT (pPair !=
34352 DBPENDINGSTATUS_INVALIDROW;
34365 if (prgRowStatus !=
34371 DBROWSTATUS_E_FAIL;
34379 Fire_OnRowChange (pT,
34385 DBREASON_ROW_UPDATE,
34387 DBEVENTPHASE_FAILEDTODO,
34398 if (prgRowStatus !=
34411 DBPENDINGSTATUS_DELETED)
34417 DBPENDINGSTATUS_INVALIDROW)
34420 DBPENDINGSTATUS_UNCHANGED;
34451 if (
pRow->m_dwRef ==
34455 pRow->AddRefRow ();
34479 Fire_OnRowChange (pT,
34485 DBREASON_ROW_UPDATE,
34487 DBEVENTPHASE_DIDEVENT,
34531 if (prgRows !=
NULL 34578 *prgRows = prowTemp;
34586 if (prgRows !=
NULL 34593 if (prgRowStatus !=
34631 memcpy (prowStatus,
34651 if (prgRowStatus !=
34655 *prgRowStatus =
NULL;
34672 DB_E_ERRORSOCCURRED;
34677 DB_S_ERRORSOCCURRED;
34741 #pragma warning(pop) 34743 #endif // __ATLDB_H__ m_szCatalog PROVIDER_COLUMN_ENTRY_WSTR("TABLE_SCHEMA", 2, m_szSchema) PROVIDER_COLUMN_ENTRY_WSTR("TABLE_NAME"
HRESULT GetUPropInfoPtr(ULONG iPropSetDex, DBPROPID dwPropertyId, UPROPINFO **ppUPropInfo)
LPOLESTR GetErrorHelpFile(ERRORINFO &)
HRESULT InitFromRowset(ArrayClass &rgData, DBID *pTableID, DBID *pIndexID, IUnknown *pSession, LONG *pcRowsAffected)
CAutoVectorPtr< DWORD > m_rgdwPropsInError
LPOLESTR DBORDINAL ordinal
OUT_OF_LINE HRESULT FInit(CUtlPropsBase *pCopyMe=NULL)=0
HRESULT _SchemaSupport(GUID **ppGuid, IUnknown *pUnkOuter, REFIID rguidSchema, ULONG cRestrictions, const VARIANT rgRestrictions [], REFIID riid, ULONG cPropertySets, DBPROPSET rgPropertySets [], IUnknown **ppRowset) \
#define SIZEOF_MEMBER(memberOf, member)
WCHAR m_szDescription[129]
BEGIN_COM_MAP(CRowsetImpl) COM_INTERFACE_ENTRY(IRowsetInfo) COM_INTERFACE_ENTRY(IAccessor) COM_INTERFACE_ENTRY(IObjectWithSite) COM_INTERFACE_ENTRY(IColumnsInfo) COM_INTERFACE_ENTRY(IConvertType) COM_INTERFACE_ENTRY(IRowsetIdentity) COM_INTERFACE_ENTRY(IRowset) HRESULT FinalConstruct()
#define PROVIDER_COLUMN_ENTRY(name, ordinal, member)
#define _ATLDUMPPROPSETIID(iid, dwStatus)
REFGUID GetErrorGUID(ERRORINFO &)
HRESULT ValidateBindings(DBCOUNTITEM cBindings, const DBBINDING rgBindings[], DBBINDSTATUS rgStatus[], bool bHasBookmarks, DBACCESSORFLAGS dwAccessorFlags, DBLENGTH cbRowSize)
STDMETHOD() Undo(HCHAPTER, DBCOUNTITEM cRows, const HROW rghRows [], DBCOUNTITEM *pcRowsUndone, HROW **prgRowsUndone, DBROWSTATUS **prgRowStatus)
DBACCESSORFLAGS dwAccessorFlags
HRESULT TransferData(T *pT, bool bReading, void *pData, RowClass *pRow, MapClass *, HACCESSOR hAccessor)
ULONG CalcDescripBuffers(ULONG cPropInfoSet, DBPROPINFOSET *pPropInfoSet)
#define SETBIT(word, pos)
ArrayType _RowsetArrayType
WCHAR m_szDomainName[129]
BEGIN_COM_MAP(CSchemaRowsetImpl) COM_INTERFACE_ENTRY(IRowsetInfo) COM_INTERFACE_ENTRY(IAccessor) COM_INTERFACE_ENTRY(IObjectWithSite) COM_INTERFACE_ENTRY(IColumnsInfo) COM_INTERFACE_ENTRY(IConvertType) COM_INTERFACE_ENTRY(IRowsetIdentity) COM_INTERFACE_ENTRY(IRowset) HRESULT FinalConstruct()
const DWORD ARGCHK_PROPERTIESINERROR
void FreeDBIDs(DBID *pdbidSrc)
__if_exists(T::Fire_OnFieldChange)
HRESULT Compare(DBCOMPAREOP CompareOp, DBTYPE wType, const char *szRowValue, const char *szFindValue)
STDMETHOD() GetErrorInfo(ULONG ulRecordNum, LCID, IErrorInfo **ppErrorInfo)
CRowsetImpl< T, Storage, CreatorClass, ArrayType, RowClass, RowsetInterface > _RowsetBaseClass
CComPtr< IUnknown > spCustError
~IObjectWithSiteSessionImpl()
DBCOLUMNFLAGS_ISFIXEDLENGTH
CreatorClass _RowsetCreatorClass
FAILED(hr)||varDeferred. boolVal
HRESULT GetCommandFromID(DBID *pTableID, DBID *pIndexID)
STDMETHOD() GetNextRows(HCHAPTER hReserved, DBROWOFFSET lRowsOffset, DBROWCOUNT cRows, DBCOUNTITEM *pcRowsObtained, HROW **prghRows)
WCHAR m_szCharSetCatalog[129]
HRESULT Fire_OnFieldChange(IRowset *pRowset, HROW hRow, DBORDINAL cColumns, DBORDINAL *rgColumns, DBREASON eReason, DBEVENTPHASE ePhase, BOOL fCantDeny)
CAutoVectorPtr< ULONG > m_rgiPropSetDex
OUT_OF_LINE HRESULT InitUPropSetsSupported()
if(pdbidDest-> uName. pwszName) memcpy(pdbidDest -> uName. pwszName, pdbidSrc-> uName. pwszName, cwchBuffer *sizeof(WCHAR))
const int DBPROPFLAGS_CHANGE
#define PROVIDER_COLUMN_ENTRY_TYPE_PS(name, ordinal, type, precision, scale, member)
ATL_VARIANT_FALSE DBPROPFLAGS_ROWSET DBPROPFLAGS_READ DBPROPFLAGS_ROWSET DBPROPFLAGS_READ DBPROPFLAGS_ROWSET DBPROPFLAGS_READ DBPROPFLAGS_ROWSET DBPROPFLAGS_READ DBPROPFLAGS_ROWSET DBPROPFLAGS_READ ATL_VARIANT_FALSE DBPROPFLAGS_ROWSET DBPROPFLAGS_READ DBPROPFLAGS_ROWSET DBPROPFLAGS_READ DBPROPFLAGS_ROWSET DBPROPFLAGS_READ ATL_VARIANT_TRUE
HRESULT SetCommandText(DBID *pTableID, DBID *pIndexID)
HRESULT GetNextRowsSkipDeleted(HCHAPTER, DBROWOFFSET lRowsOffset, DBROWCOUNT cRows, DBCOUNTITEM *pcRowsObtained, HROW **prghRows)
#define END_PROVIDER_COLUMN_MAP()
CAtlArray< RecordClass > m_rgErrors
BindingVector _BindingVector
m_szTableCatalog m_szTableName m_guidColumn PROVIDER_COLUMN_ENTRY_PS("COLUMN_PROPID", 6, 10, 0xFF, m_ulColumnPropID) PROVIDER_COLUMN_ENTRY_PS("ORDINAL_POSITION"
void SetRestrictions(ULONG cRestrictions, GUID *, ULONG *rgRestrictions)
ULONG m_cElemPerSupported
m_szTableCatalog PROVIDER_COLUMN_ENTRY_WSTR("TABLE_SCHEMA", 2, m_szTableSchema) PROVIDER_COLUMN_ENTRY_WSTR("TABLE_NAME"
PPROPCOLID FindColumnId(const DBID *pdbidProp)
HRESULT AddColumnId(DBPROP *pProp)
ATL_VARIANT_FALSE ATL_VARIANT_FALSE
LPOLESTR DBORDINAL colSize
WCHAR m_szCollationSchema[129]
WCHAR m_szTableCatalog[129]
HRESULT NameFromDBID(DBID *pDBID, CComBSTR &bstr, bool bIndex)
#define DBID_USE_GUID_OR_PGUID(e)
else return E_OUTOFMEMORY
#define PROVIDER_COLUMN_ENTRY_TYPE_LENGTH(name, ordinal, type, size, member)
HRESULT GetPropertySetIndex(const GUID *pPropertySet)
HRESULT InternalFInit(PGetPropSet pfnGetSet, CUtlPropsBase *pCopyMe=NULL)
void WINAPI AtlDumpProperty(DWORD dwPropertyID, DWORD dwStatus)
STDMETHOD() GetCustomErrorObject(ULONG ulRecordNum, REFIID riid, IUnknown **ppObject)
ArrayType _RowsetArrayType
#define PROVIDER_COLUMN_ENTRY_STR(name, ordinal, member)
VARIANT_BOOL m_bColumnHasDefault
STDMETHOD() GetBasicErrorInfo(ULONG ulRecordNum, ERRORINFO *pErrorInfo)
LPOLESTR DBORDINAL BYTE BYTE scale
HRESULT RemoveColumnId(const DBID *pdbidProp)
HRESULT AddString(LPOLESTR szName, DBORDINAL ordinal, DBLENGTH colSize, DBBYTEOFFSET offset)
LPOLESTR DBORDINAL BYTE precision
HRESULT Fire_OnRowChange(IRowset *pRowset, DBCOUNTITEM cRows, const HROW rghRows[], DBREASON eReason, DBEVENTPHASE ePhase, BOOL fCantDeny)
virtual HRESULT OnPropertyChanged(ULONG, DBPROP *pDBProp)
CSchemaRowsetImpl< T, Storage, CreatorClass, ArrayType, RowClass, RowsetInterface > _RowsetBaseClass
HRESULT SetProperties(const DWORD, const ULONG cPropertySets, const DBPROPSET rgPropertySets [], const ULONG cSelectProps=1, const GUID *const ppGuid []=NULL, bool bIsCreating=false)
void WINAPI AtlDumpPropsetIID(REFIID iid, DWORD dwStatus)
CAtlMap< HROW, Storage *> m_mapCachedData
HROW HACCESSOR void * pSrcData
LPOLESTR GetErrorSource(ERRORINFO &)
STDMETHOD() GetRecordCount(ULONG *pcRecords)
WCHAR m_szColumnDefault[129]
OUT_OF_LINE HRESULT InternalFinalConstruct(IUnknown *)
WCHAR m_szDomainCatalog[129]
HRESULT Add(LPOLESTR szName, DBORDINAL ordinal, DBLENGTH colSize, DBTYPE type, BYTE precision, BYTE scale, DBBYTEOFFSET offset, DWORD flags=DBCOLUMNFLAGS_ISFIXEDLENGTH)
HRESULT GetPropertiesArgChk(const ULONG cPropertySets, const DBPROPIDSET rgPropertySets [], ULONG *pcProperties, DBPROPSET **prgProperties)
HRESULT ValidateCommandID(DBID *pTableID, DBID *pIndexID)
m_szCatalog m_szTable m_guid m_ulPropID DBTYPE_DATE
WCHAR m_szColumnName[129]
CComBSTR m_strCommandText
virtual HRESULT GetIndexofPropSet(const GUID *pPropSet, ULONG *pulCurSet)=0
ULONG GetUPropValIndex(ULONG iCurSet, DBPROPID dwPropId)
STDMETHOD() GetRowStatus(HCHAPTER, DBCOUNTITEM cRows, const HROW rghRows [], DBPENDINGSTATUS rgPendingStatus [])
virtual HRESULT IsValidValue(ULONG, DBPROP *pDBProp)
USHORT m_nNumericPrecision
SHORT GetValShort(ULONG iPropSet, ULONG iProp)
STDMETHOD() GetPendingRows(HCHAPTER, DBPENDINGSTATUS dwRowStatus, DBCOUNTITEM *pcPendingRows, HROW **prgPendingRows, DBPENDINGSTATUS **prgPendingStatus)
BOOL IsEmpty(ULONG iPropSet, ULONG iProp)
HRESULT CreateRowset(IUnknown *pUnkOuter, DBID *pTableID, DBID *pIndexID, REFIID riid, ULONG cPropertySets, DBPROPSET rgPropertySets [], IUnknown **ppRowset, RowsetClass *&pRowsetObj)
LONG GetValLong(ULONG iPropSet, ULONG iProp)
OUT_OF_LINE HRESULT InternalCreateSchemaRowset(IUnknown *pUnkOuter, ULONG, const VARIANT [], REFIID riid, ULONG cPropertySets, DBPROPSET rgPropertySets [], IUnknown **ppRowset, IUnknown *pUnkThis, CUtlPropsBase *pProps, IUnknown *pUnkSession)
ULONG m_ulOrdinalPosition
ULONG m_ulCharOctetLength
HRESULT IsUpdateAllowed(DBPENDINGSTATUS, HROW, DBROWSTATUS *)
WCHAR m_szCollationCatalog[129]
#define _ATLDUMPPROPERTY(dwPropertyID, dwStatus)
WCHAR m_szDomainSchema[129]
DWORD GetErrorHelpContext(ERRORINFO &)
m_szCatalog m_szTable m_guid m_ulPropID PROVIDER_COLUMN_ENTRY_TYPE_PS("DATE_CREATED", 8, DBTYPE_DATE, 0xFF, 0xFF, m_DateCreated) PROVIDER_COLUMN_ENTRY_TYPE_PS("DATE_MODIFIED"
GetPropValue & DBPROPSET_ROWSET
WCHAR m_szTableSchema[129]
LPOLESTR DBORDINAL flags DBCOLUMNFLAGS_MAYBENULL
STDMETHOD() CreateAccessor(DBACCESSORFLAGS dwAccessorFlags, DBCOUNTITEM cBindings, const DBBINDING rgBindings[], DBLENGTH, HACCESSOR *phAccessor, DBBINDSTATUS rgStatus [])
ULONG m_cElemPerSupported
UPROPINFO ** rgpUPropInfo
HRESULT GetPropertyInfo(ULONG cPropertySets, const DBPROPIDSET rgPropertySets [], ULONG *pcPropertyInfoSets, DBPROPINFOSET **prgPropertyInfoSets, WCHAR **ppDescBuffer, bool bInitialized=true, const GUID *pGuid=NULL)
ULONG GetCountOfPropColids()
static HRESULT SetPropertiesArgChk(const ULONG cPropertySets, const DBPROPSET rgPropertySets [])
HRESULT FInit(GUID *pguidSet=(GUID *) &GUID_NULL)
WCHAR m_szCharSetName[129]
ATL_VARIANT_FALSE DBPROPFLAGS_ROWSET DBPROPFLAGS_READ DBPROPFLAGS_ROWSET DBPROPFLAGS_READ DBPROPFLAGS_ROWSET DBPROPFLAGS_READ DBPROPFLAGS_ROWSET DBPROPFLAGS_READ DBPROPFLAGS_ROWSET DBPROPFLAGS_READ ATL_VARIANT_FALSE DBPROPFLAGS_ROWSET DBPROPFLAGS_READ DBPROPFLAGS_ROWSET DBPROPFLAGS_READ DBPROPFLAGS_ROWSET DBPROPFLAGS_READ DBPROPFLAGS_ROWSET DBPROPFLAGS_READ DBPROPVAL_UP_CHANGE DBPROPVAL_UP_INSERT DBPROPVAL_UP_DELETE
void RemoveInternalFlags(ULONG iPropSet, ULONG iProp, DWORD dwFlags)
WCHAR m_szCharSetSchema[129]
STDMETHOD() Update(HCHAPTER, DBCOUNTITEM cRows, const HROW rghRows [], DBCOUNTITEM *pcRows, HROW **prgRows, DBROWSTATUS **prgRowStatus)
const ULONG cchDescBuffSize
DBROWCOUNT AbsVal(DBROWCOUNT val)
BEGIN_PROVIDER_COLUMN_MAP(CCOLUMNSRow) PROVIDER_COLUMN_ENTRY_WSTR("TABLE_CATALOG"
#define BEGIN_PROVIDER_COLUMN_MAP(theClass)
#define PROVIDER_COLUMN_ENTRY_WSTR(name, ordinal, member)
#define DBID_USE_PROPID(e)
<< DBKIND_GUID \|1<< DBKIND_GUID_NAME \|1<< DBKIND_GUID_PROPID \|1<< DBKIND_PGUID_NAME \|1<< DBKIND_PGUID_PROPID)) #define DBID_USE_GUID(e)(1<< DBKIND_GUID \|1<< DBKIND_GUID_NAME \|1<< DBKIND_GUID_PROPID)) #define DBID_USE_PGUID(e)(1<< DBKIND_PGUID_NAME \|1<< DBKIND_PGUID_PROPID)) #define DBID_USE_NAME(e)(1<< DBKIND_NAME \|1<< DBKIND_GUID_NAME \|1<< DBKIND_PGUID_NAME)) #define DBID_USE_PROPID(e)(1<< DBKIND_PROPID \|1<< DBKIND_GUID_PROPID \|1<< DBKIND_PGUID_PROPID)) #define DBID_IS_BOOKMARK(dbid)(dbid.eKind) &&dbid. uGuid.guid==DBCOL_SPECIALCOL||DBID_USE_PGUID(dbid.eKind) &&*dbid. uGuid. pguid==DBCOL_SPECIALCOL) #define DivDword(dw) #define ModDword(dw) #define DwordSizeofBits(nBits) #define CLEARBITARRAY(rgdwFlags) template< class T > BOOL InRange(const T &val, const T &valMin, const T &valMax) { return(valMin<=val &&val<=valMax);} class CBitFieldOps { public:void SETBIT(DWORD rgdwFlags [], const DWORD dwBit) { rgdwFlags [DivDword(dwBit)]|=1<< ModDword(dwBit);} void CLEARBIT(DWORD rgdwFlags[], const DWORD dwBit) { rgdwFlags [DivDword(dwBit)] &=~(1<< ModDword(dwBit));} DWORD TESTBIT(const DWORD rgdwFlags [], const DWORD dwBit) { return(rgdwFlags [DivDword(dwBit)] &(1<< ModDword(dwBit))) !=0;} };class CDBIDOps { public:HRESULT CompareDBIDs(const DBID *pdbid1, const DBID *pdbid2) { static const BYTE s_rgbKind[]={ DBKIND_PGUID_NAME, DBKIND_PGUID_PROPID, DBKIND_NAME, DBKIND_GUID_NAME, DBKIND_GUID_PROPID, DBKIND_PROPID, DBKIND_GUID };if(!pdbid1||!pdbid2) return S_FALSE;DBKIND tmp1=0;DBKIND tmp2=(DBKIND)(sizeof(s_rgbKind)/sizeof(*s_rgbKind));if(!InRange(pdbid2-> eKind, tmp1, tmp2)) { ATLTRACE(atlTraceDBProvider, 0, _T("Column ID out of Range\"));return E_FAIL;} if(pdbid1-> eKind !=pdbid2-> eKind &&pdbid1-> eKind !=s_rgbKind [pdbid2-> eKind]) return S_FALSE;if(DBID_USE_GUID_OR_PGUID(pdbid1-> eKind)) { if(!DBID_USE_GUID_OR_PGUID(pdbid2-> eKind)) return S_FALSE;if(!InlineIsEqualGUID(DBID_USE_PGUID(pdbid1-> eKind) ? *(pdbid1-> uGuid. pguid) :pdbid1-> uGuid.guid, DBID_USE_PGUID(pdbid2-> eKind) ? *(pdbid2-> uGuid. pguid) :pdbid2-> uGuid. guid)) return S_FALSE;} if(DBID_USE_NAME(pdbid1-> eKind)) { if(!DBID_USE_NAME(pdbid2-> eKind)) return S_FALSE;if((pdbid1-> uName. pwszName==NULL) !=(pdbid2-> uName. pwszName==NULL)) return S_FALSE;if(pdbid1-> uName. pwszName &&pdbid2-> uName. pwszName) { if(wcscmp(pdbid1-> uName. pwszName, pdbid2-> uName. pwszName) !=0) return S_FALSE;} } if(DBID_USE_PROPID(pdbid1-> eKind)) { if(!DBID_USE_PROPID(pdbid2-> eKind)) return S_FALSE;if(pdbid1-> uName. ulPropid !=pdbid2-> uName. ulPropid) return S_FALSE;} return S_OK;} static HRESULT IsValidDBID(const DBID *pdbid1) { ATLASSERT(pdbid1);if(pdbid1 &&((pdbid1->eKind==DBKIND_GUID_NAME)||(pdbid1->eKind==DBKIND_GUID_PROPID)||(pdbid1->eKind==DBKIND_NAME)||(pdbid1->eKind==DBKIND_PGUID_NAME)||(pdbid1->eKind==DBKIND_PGUID_PROPID)||(pdbid1->eKind==DBKIND_PROPID)||(pdbid1->eKind==DBKIND_GUID))) return S_OK;else return S_FALSE;} HRESULT CopyDBIDs(DBID *pdbidDest, const DBID *pdbidSrc) { size_t cwchBuffer;ATLASSERT(pdbidDest||pdbidSrc);if(!pdbidDest||!pdbidSrc) return S_FALSE;pdbidDest-> eKind=pdbidSrc-> eKind;switch(pdbidSrc-> eKind) { case DBKIND_GUID_NAME:pdbidDest-> uGuid.guid=pdbidSrc-> uGuid.guid;cwchBuffer=ocslen(pdbidSrc-> uName. pwszName);cwchBuffer++;pdbidDest-> uName pwszName
HRESULT InternalGetDefaultValue(PGetPropSet pfnGetSet, ULONG iPropSet, DBPROPID dwPropId, DWORD *pdwOption, VARIANT *pVar)
BEGIN_PROVIDER_COLUMN_MAP(CTABLESRow) PROVIDER_COLUMN_ENTRY_WSTR("TABLE_CATALOG"
STDMETHOD() SetData(HROW hRow, HACCESSOR hAccessor, void *pSrcData)
HRESULT InternalInitUPropSetsSupported(PGetPropSet pfnGetSet)
CComAutoCriticalSection m_oCriticalSection
HRESULT Fire_OnRowsetChange(IRowset *pRowset, DBREASON eReason, DBEVENTPHASE ePhase, BOOL fCantDeny)
m_szTableCatalog m_szTableName m_guidColumn m_ulOrdinalPosition PROVIDER_COLUMN_ENTRY_TYPE_PS("COLUMN_HASDEFAULT", 8, DBTYPE_BOOL, 0xFF, 0xFF, m_bColumnHasDefault) PROVIDER_COLUMN_ENTRY_PS("COLUMN_DEFAULT"
HRESULT FlushData(HROW, HACCESSOR)
const GUID * GetGuid(ULONG iPropSet)
LPOLESTR DBORDINAL dbtype
HRESULT GetValue(size_t iColId, DWORD *pdwOptions, DBID *pColid, VARIANT *pvValue)
LPOLESTR GetErrorDescriptionString(ERRORINFO &)
WCHAR m_szCollationName[129]
XML_ParsingStatus * status
CAutoVectorPtr< DWORD > m_rgdwSupported
m_szTableCatalog m_szTableName m_guidColumn m_ulOrdinalPosition m_szColumnDefault DBTYPE_BOOL
#define DBID_USE_PGUID(e)
ULONG m_ulDateTimePrecision
STDMETHOD() GetErrorParameters(ULONG ulRecordNum, DISPPARAMS *pdispparams)
static ATLCOLUMNINFO * GetColumnInfo(T *pv, DBORDINAL *pcCols)
STDMETHOD() GetOriginalData(HROW hRow, HACCESSOR hAccessor, void *pData)
const DWORD DBINTERNFLAGS_CHANGED
HRESULT InitAvailUPropSets(ULONG *pcUPropSet, UPROPSET **ppUPropSet, ULONG *pcElemPerSupported, GUID *pguid)
VARIANT * GetVariant(ULONG iPropSet, ULONG iProp)
VARIANT_BOOL m_bIsNullable
int LoadDescription(ULONG ids, PWSTR pwszBuff, ULONG cchBuff)
HRESULT GetProperties(const ULONG cPropertySets, const DBPROPIDSET rgPropertySets [], ULONG *pcProperties, DBPROPSET **prgProperties, const ULONG cSelectProps=1, const GUID *const ppGuid[]=NULL)
void SendColumnSetFailureNotification(T *pT, HROW hNotifyRow, T::_BindType *pBinding, CAtlArray< DBORDINAL > &rgColumns)
void SendRowsFirstChangeFailureNotification(T *pT, RowClass *pRow, HROW *phNotifyRow, bool bDeferred)
if(!pT-> m_rgRowHandles. Lookup(hRow, pRow)) return DB_E_BADROWHANDLE
#define CLEARBIT(word, pos)
OUT_OF_LINE HRESULT FInit(CUtlPropsBase *pCopyMe=NULL)
#define PROVIDER_COLUMN_ENTRY_PS(name, ordinal, precision, scale, member)
CreatorClass _RowsetCreatorClass
virtual HRESULT InitUPropSetsSupported()=0
virtual HRESULT GetDefaultValue(ULONG iPropSet, DBPROPID dwPropId, DWORD *pdwOption, VARIANT *pVar)=0
STDMETHOD() AddErrorRecord(ERRORINFO *pErrorInfo, DWORD dwLookupID, DISPPARAMS *pdispparams, IUnknown *punkCustomError, DWORD)